在react.cloneElement中设置的属性在卸载react时未定义类型错误

时间:2018-09-17 14:37:25

标签: reactjs webpack

我有一个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上找不到类似的情况。任何帮助表示赞赏。

0 个答案:

没有答案