Redux-form:输入值尚未设置onChange of input

时间:2018-06-15 15:23:46

标签: redux-form

当用户从选择下拉列表中选择一个值时,onChange会调用父容器中的一个函数。在那里,我需要检查哪些字段已填满。

但似乎尚未在表单中设置该值。 我尝试使用选择器 validgetFormvalues,但未更新最新的表单值更改。

请参阅此codesandbox

如果我在表单组件的呈现中打印getFormvalues,它会被更新,但我无法在那里处理表单。

那么在用户选择一个值后,如何在表格更新后处理表单?

1 个答案:

答案 0 :(得分:0)

由于SimpleFormContainer,您已经在connect中接收到值。您不需要从SimpleFormContainerSimpleForm的回调。您可以使用componentWillReceiveProps中的SimpleFormContainer来检查值的更新并执行所需的操作。

最终代码如下:-

class SimpleFormContainer extends React.Component {

  componentWillReceiveProps(nextValues) {
    if (this.props.formValues !== nextValues.formValues){
      console.log(nextValues.formValues)
    }
  }
  render() {

    return (
      <SimpleForm onSubmit={showResults}/>
    )
  }
}


SimpleFormContainer = connect(
  state => ({
    formValues: getFormValues('simple')(state)
  }),
  { getFormValues }
)(SimpleFormContainer);

Working example