首页 > 解决方案 > 获取 React 组件内部的调用深度

问题描述

我正在尝试在 React 中制作一个支持嵌套组件的场景图。类似于以下内容:

<SceneNode>
  <SceneNode>
    <Thing/>
  </SceneNode>
  <SceneNode>
    <Thing/>
  </SceneNode>
</SceneNode>

SceneNode安装 a 时,我需要一种方法让它知道它的“深度”。组件中是否有访问该信息的方法?例如:

function SceneNode({children}:{children:ReactNode}) {
  const depth = useCallDepth(); // <- some magic function that lets me know the level of nesting for this node
  return <div>{children}</div>
}

注意:我尝试了以下方法:

标签: reactjsdepthscenegraph

解决方案


可以为此使用上下文:Demo


推荐阅读