Javascript 我的子组件执行验证,但我需要在更高的组件中使用该验证
我有一个表单,允许用户填写并选择一些选项 可能看起来像Javascript 我的子组件执行验证,但我需要在更高的组件中使用该验证,javascript,forms,validation,reactjs,Javascript,Forms,Validation,Reactjs,我有一个表单,允许用户填写并选择一些选项 可能看起来像 <MyForm> <InputWithValidation /> </MyForm> 但是,这不起作用,因为我从未对输入调用过验证。对于一个输入和多个输入,如何解决此问题?虽然这类似于表单验证,但我认为热键增加了一点复杂性 我觉得我的问题和这个问题很相似,但我希望有人能用一些最佳实践来回答这种情况 谢谢你的帮助 由于您的类已经可以访问此.props.submit()的适当上下文,因此我建议将该事
<MyForm>
<InputWithValidation />
</MyForm>
但是,这不起作用,因为我从未对输入调用过验证。对于一个输入和多个输入,如何解决此问题?虽然这类似于表单验证,但我认为热键增加了一点复杂性
我觉得我的问题和这个问题很相似,但我希望有人能用一些最佳实践来回答这种情况
谢谢你的帮助 由于您的
类已经可以访问此.props.submit()的适当上下文,因此我建议将该事件处理程序移动到您的
类。您可以像这样在组件装载后添加它
class InputWithValidation extends React.Component {
//constructor
//other functions
componentDidMount() {
//add keydown event handler here
//pass to parent with this.props.submit(e.whatever)
}
render() {
//render function
}
}
“现在我设置的方式是MyForm有一个函数,
submit()
,我将它作为道具传递给我的InputWithValidation
。单击submit,InputWithValidation
检查它的输入,如果它有效,将调用this.props.submit
”所有这些都没有反映在你问题的代码中。甚至连提交按钮都没有。请编辑您的问题以包含更多实际代码,以便我们可以重现您的问题。
class InputWithValidation extends React.Component {
//constructor
//other functions
componentDidMount() {
//add keydown event handler here
//pass to parent with this.props.submit(e.whatever)
}
render() {
//render function
}
}