踩坑记录: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)
    });
  });
  
相关推荐
程序员黑豆2 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
剪刀石头布啊2 小时前
antd中可编辑表格中巧用useWatch实现联动高性能效果,以及定制延伸学习
前端
油丶酸萝卜别吃2 小时前
前端转全栈学习路线
前端·学习
浮生望3 小时前
前端路由进阶:History API原理与手写HistoryRouter
前端
陆枫Larry3 小时前
JavaScript 中的竞态是什么,为啥会有竟态?
前端
上海安当技术5 小时前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队6 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_431600446 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
kyriewen7 小时前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
IT_陈寒7 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端