Javascript 向前反应ref:ref和其他道具
父组件:Javascript 向前反应ref:ref和其他道具,javascript,reactjs,use-ref,react-forwardref,Javascript,Reactjs,Use Ref,React Forwardref,父组件: const Parent=(道具)=>{ const ref=useRef(); 返回 } 和孩子: const Child=forwardRef((props,ref)=>{ 返回单击 }) 如果我想把更多的道具传递给孩子,而不仅仅是ref // in parent <Child onClick={...} prop1={...} prop2={...} ref={ref} /> 我搜索了文档和教程,但什么也没找到;通过反复试验,我想这是可行的: //在父级中 然
const Parent=(道具)=>{
const ref=useRef();
返回
}
和孩子:
const Child=forwardRef((props,ref)=>{
返回单击
})
如果我想把更多的道具传递给孩子
,而不仅仅是ref
// in parent
<Child onClick={...} prop1={...} prop2={...} ref={ref} />
我搜索了文档和教程,但什么也没找到;通过反复试验,我想这是可行的:
//在父级中
然后在Child
中,我可以从props
中获得这些道具(onClick
,prop1
,prop2
)
这就是我需要做的吗?将ref
作为传递给孩子的最后一个道具
如果在Child
中有多个按钮需要在parent中使用ref
?//该怎么办
// in parent
<Child onClick={...} prop1={...} prop2={...} ref={ref} />
顺序无关紧要forwardRef
从属性中提取ref属性并创建包装器
其他道具在props
中可用(在forwardRef
回调函数中的第一个参数)
如果你想使用多个引用,你可以使用这个例子。好吧,我遵循了这个方法 父组件
const Parent = (props) => {
const ref = useRef();
return <Child _ref={ref} />
}
const Child = forwardRef(({ _ref, prop1, prop2, prop3, ...props }) => {
return <button ref={_ref} ...>click</button>
})
const Parent=(道具)=>{
const ref=useRef();
返回
}
子组件
const Parent = (props) => {
const ref = useRef();
return <Child _ref={ref} />
}
const Child = forwardRef(({ _ref, prop1, prop2, prop3, ...props }) => {
return <button ref={_ref} ...>click</button>
})
const Child=forwardRef({u ref,prop1,prop2,prop3,…props})=>{
返回单击
})
它起作用了考虑熟悉React文档-道具和参考是如何工作的。道具将收到您在父组件中的子组件上添加的多个值,请遵循第一条注释:)