在输入字段

时间:2017-06-19 13:30:55

标签: javascript reactjs redux redux-form

我想在简单的Input redux表单字段中进行简单的数据注入。 让我解释一下:

我有一个大表单,当用户在“LastName”输入中写入时,我只想将值作为“LastNameFather”注入第二个字段。

非常简单的imo,

我创建了一个formvalueSelector,并获得了第一个Input值。

const selecor = formValueSelector('MyForm')

const mapStateToProps = (state,props) => {

    const name = selector(state,"nameOne")

    return {
     name : name
    }}

我正在使用componentWillReceiveProps来处理写作并使用道具更改来注入我的价值。

componentWillReceiveProps = (props) => {
     props.name != null ? props.change("name2",props.name) : null 
}

现在,当我在第一个Field内写字时,会有无限的重新渲染。如您所见,我必须在更改第二个字段之前测试props.name!= null。

无论如何,我错过了什么?

由于

1 个答案:

答案 0 :(得分:1)

先生。 GreGGus,根据React Js官方文档和#34;注意,即使道具没有改变,React也可以调用这个方法(componentWillReceiveProps),所以如果你只想处理更改,请确保比较当前值和下一个值。当父组件导致组件重新渲染时,可能会发生这种情况。 你可以尝试一下。