javascript - 在输入字段的监听器上使用 'change'

标签 javascript reactjs redux redux-form

我想在简单的输入还原表单字段中进行简单的数据注入(inject)。 让我解释一下:

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

在我看来非常简单,

我做了一个formvalueSelector,并获取第一个输入值。

const selecor = formValueSelector('MyForm')

const mapStateToProps = (state,props) => {

    const name = selector(state,"nameOne")

    return {
     name : name
    }}

我使用 componentWillReceiveProps 来处理写入并使用 props 更改来注入(inject)我的值。

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

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

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

谢谢

最佳答案

先生。 GreGGus,根据 React Js 官方文档“请注意,即使 props 没有更改,React 也可能会调用此方法(componentWillReceiveProps),因此如果只想处理更改,请务必比较当前值和下一个值。这可能会发生在以下情况:父组件会导致您的组件重新渲染。” 你可以尝试一下。

关于javascript - 在输入字段的监听器上使用 'change',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44631970/

相关文章:

javascript - 如何在 React 中引用 index.html 中的 css 文件

reactjs - 在 React 中是否有比 onChange 更简洁的方法将输入字段连接到状态属性?

react-native - React Native中可能存在未处理的Promise Rejection网络错误

javascript - 如何测试 redux 操作中抛出的错误

javascript - 如何使用 Jasmine 测试调用异步函数的函数

javascript - 鼠标滚轮事件 - 速度/动量

javascript - 为什么 0x80000000 >> 1 在 JavaScript 中产生负值?

javascript - 使用 onChange 更新组件。 React-Hooks

javascript - 如何避免 redux 中的重复代码(鸭子方法)?

javascript - 无法对迭代器上可能未定义的值调用函数