Redux-Form - 如何从表单由组件组成的状态初始化

时间:2017-09-22 10:54:04

标签: javascript redux react-redux redux-form

是的,您可以根据docs从州初始化,但如果表单包含子组件,您会怎么做。您想在其他地方重用这些组件,但是为了那些子组件而从状态初始化是什么?

例如,您可能有一个Client组件,其中嵌入了Address组件。您希望从状态初始化,并且客户端状态具有地址信息,例如地址,郊区和zip。您已按照以下地址包含地址:

      <FormSection name="Address">
        <Address />
      </FormSection>

在客户表单中,您已使用以下内容获取并填充客户字段:

  let ClientForm = reduxForm({
    form: CLIENT_FORM_NAME
  })(Client);

  let ClientForm2 = connect(
    (state, ownProps) => ({
      initialValues: state.editClient, // pull initial values from client reducer
      enableReinitialize: true
    }),
    { reducer } // bind client loading action creator
  )(ClientForm);

如何弹出地址组件中的字段?你需要传递道具吗?

1 个答案:

答案 0 :(得分:0)

没有。只要传递给initialValues的客户端对象与FormSection创建的对象层次结构匹配,就应填充字段。

看起来像这样的FormSection

  <FormSection name="Address">
    <Address />
  </FormSection>

期待你的initialValues有这样的东西作为它的一部分

{
    address: {
        streetName: undefined,
        number: "123",
        zipCode: "9090"
    }
}