【发布时间】:2020-01-22 00:41:34
【问题描述】:
我需要在其父组件中调用子函数。我该怎么做?在 React 15 之前,我可以使用 refs 来调用 children 的函数。但是不知道如何使用钩子和功能组件来做到这一点。
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.所有的标签都需要验证自己,在标签中显示错误信息并返回验证信息
【问题讨论】:
-
你能补充一些关于确切要求的内容吗?
-
嗨,克拉克,检查我的解决方案,如果有帮助,请告诉我。
标签: javascript reactjs