【发布时间】:2020-08-11 07:26:05
【问题描述】:
我想滚动到页面中的菜单元素。
我的菜单组件不是我想滚动到的组件的父级。
我发现this post 描述了类似的问题
将 ref 传递给子元素 我们希望将 ref 附加到 dom 元素,而不是 React 组件。所以当把它传给孩子时
我们不能命名prop ref的组件。
const myRef = useRef(null) return <ChildComp refProp={myRef}></ChildComp> } ``` Then attach the ref prop to a dom element. ```jsx const ChildComp = (props) => { return <div ref={props.refProp} /> } ```
这是我的应用结构
菜单组件:
const MenuApp = () => {
return (
<div>
<div className="desktop-menu">
<div className="menu-item a-propos">
<p className='button'>Me découvrir</p>
</div>
<div className="menu-item competences">
<p className='button'>Compétences </p>
</div>
<div className="menu-item experiences">
<p className='button'>Experiences</p>
</div>
<div className="menu-item formation">
<p className='button'>Formation </p>
</div>
</div>
</div>
)
}
父级是应用组件
<div className="App">
<div className="hero">
<HeaderApp />
<ApprochApp />
</div>
<Apropos />
<Competences />
<Experiences />
<Formation />
<Recom />
<Contact />
<Footer />
</div >
我希望 mu 菜单滚动到主 App 组件中的反应组件
那么如何将菜单组件的引用传递给应用程序并在组件中使用它来滚动?
【问题讨论】:
-
你看过forwarding refs吗?
标签: javascript reactjs