javascript - React,如何访问父级中的子引用

标签 javascript reactjs ecmascript-6

我正在尝试访问父项的父项中的子 Ref,我似乎无法弄清楚,有谁知道我如何实现这一点,

// Child
const RightMenu = ({t}) => {

  const juraLiveIconRef = useRef();

  return (
     <Row className="pt-4">
        <Col>
          <img
            ref={juraLiveIconRef}
            src={require("../../assets/jura-live-grey.png")}
          />
        </Col>
     </Row>
  )
}

 //Parent1
const BottomMenu = ({ t}) => {

   <div className="bottom-menu-right-menu">
      <RightMenu />
   </div>

}

 //Parent2
const Home = ({ t }) => {

   <div>
    <BottomMenu />
   </div>
}

我需要访问 Home 组件(parent2)中的 ref,我们将不胜感激。

最佳答案

将您的 ref 提升到 Parent 并将其附加到 Child

const Parent = () =>{
    const ref = useRef(null)

    return <Child parentRef={ref} />
}

const Child = props => <GrandChild {...props}/>

const GrandChild = ({ parentRef }) => <div ref={parentRef} />

Edit keen-sky-g9yxj

你可以像普通的 prop 一样传递一个 ref 只要你不调用它 ref

关于javascript - React,如何访问父级中的子引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505450/

相关文章:

javascript - JS 数组解构 - 它是如何给出这个输出的?

javascript - 顶点在分组的 Object3D 几何体中的世界位置

javascript - meteor - 从 child 到 parent 获得值(value)

javascript - ESLint 解析错误 : Unexpected token . .. 仅在一个剩余运算符上

javascript - 将模态显示为普通 div - Reactstrap

javascript - 为什么 React 开发工具将我的组件显示为匿名?

javascript - V8:ES6 代理在针对自定义对象时不支持迭代协议(protocol)?

javascript - 使单词跳动并随机改变位置

javascript - 将对象内的多个数组合并为单个数组

javascript - 如何在不调用其构造函数的情况下复制对象及其原型(prototype)链?