【发布时间】:2020-09-09 14:26:07
【问题描述】:
我有以下问题:
有一个子组件接受从父组件传下来的 ref:
const ChildComp = React.forwardRef((props, ref) => <div ref={ref} />)
父组件创建一个 ref 数组并将数组中的一个 ref 分配给其中一个子组件:
const ParentComp = () => {
const items = [1,2,3]
const refs = items.map(() => React.createRef())
React.useEffect(() => {
console.log(refs);
}, [refs])
return <div>{items.map((item, index) => <ChildComp ref={refs[index]>)}</div>
}
但是,当我在useEffect 中输出 refs 数组的状态时,它仅在父级挂载时输出一次,此时 ref.current 值仍为空,因为尚未挂载子级。
我希望能够拥有一个 ref 数组,其中每个 ref 属于一个孩子,如上图所示。
【问题讨论】:
标签: reactjs react-hooks