踩坑记录:Taro.createSelectorQuery找不到元素

问题:Taro.createSelectorQuery()在 useEffect 里 一直找不到元素

代码记录附上:

scss 复制代码
useEffect(() => {
  const query = Taro.createSelectorQuery();
  query.select('#some-element').boundingClientRect((rect) => {
    console.log(rect); // ❌ always null
  }).exec();
}, []);
​

查阅链接后 docs.taro.zone/en/docs/ref 发现,考虑到小程序的实现机制,需要配合在 onReady 生命周期中获取节点信息。也就是Taro.createSelectorQuery要放在 onReady阶段,ai回答的这段话是错误的,react hook和小程序钩子没有一一对应的关系。

修改后代码

js 复制代码
// a 元素滑动到b 元素 
useReady(() => {
    Taro.createIntersectionObserver(
      Taro.getCurrentInstance(),
      {
        thresholds: [0.2],
        observeAll: true,
      },
    ).relativeTo('#b', { bottom: -400 }).observe('#a', (res) => {
      // do someting...
      console.log(res)
    });
  });
  
相关推荐
爬山算法1 小时前
Redis(169)如何使用Redis实现数据同步?
前端·redis·bootstrap
qq_485668991 小时前
前端基础入门学习
前端·学习
子夜江寒1 小时前
HTML 基础知识
前端·学习·html
掘金安东尼1 小时前
前端周刊第443期(2025年12月1日–12月7日)
前端·javascript
执携2 小时前
Vue Router (导航守卫)
前端·javascript·vue.js
火车叼位2 小时前
让 ast-grep 听你的:指定语言解析 Vue/TSX/JSX 全流程
前端·javascript·后端
San30.2 小时前
Vue 3 + DeepSeek 实现 AI 流式对话的完整指南
前端·vue.js·人工智能
枣把儿2 小时前
「zotepad」用Gemini3pro写出一个高效写作和发文的记事本应用
android·前端·nuxt.js
前端开发爱好者2 小时前
VSCode 推出 绿色版!更强!更智能!
前端·javascript·visual studio code