踩坑记录: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)
    });
  });
  
相关推荐
百锦再4 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
莲华君4 小时前
React快速上手:从零到项目实战
前端·reactjs教程
百锦再4 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
易安说AI4 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
失忆爆表症6 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录6 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜6 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛7 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大7 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT067 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain