我需要在其父组件中调用子函数。我该怎么做?之前在 React 15 中,我可以使用 refs 来调用子函数。但是不知道如何使用钩子和功能组件来做到这一点。
function Child(props) {
function validate() {
// to validate this component
}
return (
<>Some code here</>
)
}
function Parent(props) {
const refs = useRef([]);
const someData = [1,2,3,4,5];
function validateChildren() {
refs.current.forEach(child => {
child.current.validate(); // throw error!! can not get validate function
});
}
return (
<>
<button onClick={validateChildren}>Validate</button>
{
someData.map((data, index) => {
return <Child ref={ins => refs.current[index] = ins} />
})
}
</>
)
}
我的实际需求是: 1. 有多个选项卡可以添加,根据用户行为删除 2. 单击选项卡父级中的按钮以触发验证 3. 所有选项卡都需要验证自身,在其选项卡中显示错误消息并返回一条验证消息