踩坑记录: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)
    });
  });
  
相关推荐
借个火er2 分钟前
依赖注入系统
前端
借个火er2 分钟前
项目介绍与环境搭建
前端
gustt3 分钟前
React 跨层级组件通信:从 Props Drilling 到 useContext 的实战剖析
前端·react.js
程序猿的程9 分钟前
Stock写给前端的股票行情 SDK: stock-sdk,终于不用再求后端帮忙了
前端·javascript·node.js
用户新11 分钟前
V8引擎 精品漫游指南 -解析篇 语法解析 AST 作用域 闭包 字节码 优化 一文通关
前端·javascript
黑土豆21 分钟前
2025,我不再写代码,我在当代码的“审核员”
前端·vue.js·ai编程
不爱说话郭德纲27 分钟前
🏆2025,我对「Vibe Coding」的「影响」
前端·程序员·ai编程
mCell39 分钟前
Electron 瘦身记:我是如何把安装后 900MB 的"巨无霸"砍到 466MB 的?
前端·性能优化·electron
xiaohe06011 小时前
📖 每一份收获都值得被纪念:小何的 2025 年度总结
前端·年终总结
社恐的下水道蟑螂1 小时前
深入理解 React 中的 Props:组件通信的桥梁
前端·javascript·react.js