我有一个react组件,可以使用React.cloneElement
向安装的子级添加属性。一切正常,直到通过条件渲染卸载组件,然后抛出typeError并崩溃。知道为什么吗?
这是渲染块
render() {
const inputs = React.Children.map(this.props.children, child =>
React.cloneElement(child, {
value: this.state.value,
onChange: this.onChange,
error: this.state.userNotify[child.props.name]
})
);
return (
<div id="form-container">
<p className="formTitle">{this.props.formTitle}</p>
<form id={this.props.formID} onSubmit={this.onSubmit} >
{inputs} {/*there must be nested input components passed in*/}
</form>
</div>
)
};
提交表单后,将使用条件渲染器卸载组件(更改this.state.user对象)。此时,表单将卸载,并且出现此错误
TypeError: _this4.state.userNotify is undefined
我在Google上找不到类似的情况。任何帮助表示赞赏。