请问,react中渲染完成的是哪个生命周期呢?
我认为是:componentDidMount
useEffect(() => {
console.log('mounted') // 挂载后
}, [])
可以当我在这个生命周期内,document.querySelector查询id的时候:却报错
useEffect(() => {
if(props.scrollToIdx) {
const scrollToIdx = props.scrollToIdx
console.log("滚动ID:", '#item-' + scrollToIdx!.toString())
const container = document.querySelector("#container")
const div: HTMLDivElement | null = document.querySelector('#item-' + scrollToIdx!.toString()) // 这里查询出是null
console.log(container, div)
if(container) {
container.scrollTo({
top: div!.offsetTop,
behavior: 'smooth'
});
}
}
}, [])
报错信息:
Cannot read properties of null (reading 'offsetTop')
TypeError: Cannot read properties of null (reading 'offsetTop')
at
也就是说,没有查询出#item-20,原因是还没有渲染到DOM。
请问这个应该如何进行避免呢?
是不是#item-20异步从接口中获取的,如果是非同步获取的话,在页面首次完成渲染的时候useEffect(,[]),获取不到#item-20是符合预期的
我有一个问题,我认为它与屏幕渲染及其生命周期有关。基本上我有两个屏幕(菜单和游戏)。在GameScreen渲染方法中,我称之为World。更新,然后我的渲染。在(GameScreen的)隐藏方法中,我从Redner类中处理SpriteBatch。 因此,当我将屏幕从游戏更改为菜单(intheworld.update)时,Java崩溃。据我所知,飞机失事了。所以我的问题是,当我在渲染周期中间设置一个
老司机一眼就可以看出,这个是在微信官方文档|页面生命周期基础上修改的。 对!我们就是在小程序框架之上执行 Vue 的 runtime,管理项目的 dom,在合适的生命周期中执行 vue 的 hooks。
WeX5页面运行时,分成两个阶段:编译阶段和运行阶段。 编译阶段 图2-19 页面编译阶段 如上图所示,WeX5页面编译时,根据页面的三个核心文件(.w文件、.js文件和.css文件),编译生成三个目标文件: ● main_{lang}_{skin}.html:完整的HTML页面,可以作用独立的HTML页面运行; ● xx.w.view_{lang}_{skin}.html:HTML页面片段,不能
1、创建 DokuWiki中,最简单的创建页面方法是,通过已存在的页面创建一个新页面。在地址栏输入新名称然后点击创建。 首先,在页面输入 图片已损坏 然后点击创建 图片已损坏 这种最简单的方法可以保证新建页面与其他页面互相关联。 如果采用其他方法,请保证新页面可以链接到其他页面。不然新建页面就会成为单独页面,在以后查询的时候非常麻烦。 2、编辑 点击编辑页面就开始编辑,可以点击预览查看目前
本文向大家介绍说说react的生命周期有哪些?相关面试题,主要包含被问及说说react的生命周期有哪些?时的应答技巧和注意事项,需要的朋友参考一下 装载阶段 组件第一次被渲染时的阶段,这一阶段相关的生命周期函数有: constructor componentWillMount render componentDidMount 更新阶段 如果组件中的 state 或者 props 发生了改变,Rea
本文向大家介绍Activity生命周期(这个是必问的)相关面试题,主要包含被问及Activity生命周期(这个是必问的)时的应答技巧和注意事项,需要的朋友参考一下 onCreate() 创建活动,做一些数据初始化操作 onStart() 由不可见变为可见 onResume() 可以与用户进行交互,位于栈顶 onPause() 暂停,启动或恢复另一个活动时调用 onStop() 停止,变为不可见 o