我可以使用@@redux-form/INITIALIZE 动作吗?

Can I use @@redux-form/INITIALIZE action?

我有一个组件,其虚拟结构如下所示:

  <Header>
           My Status
     </Header>
      <Form>
        <Field.Text> Name: </Field.Text>
      </Form>
      <Footer>
        <a> foo link </a>
      </Footer>

所以我的 header 在组件中,将包含我的表单是否已保存或保存时是否遇到任何错误的状态?

我的问题是我查看了 redux-form 的源代码,在表单初始化期间,我观察到 @@redux-form/INITIALIZE 动作已调度。当我重置此表单时,我想清除 header.

中的所有文本

那么直接捕捉动作是个好习惯吗 @@redux-form/INITIALIZE@@redux-form/RESET 在我的减速器中并将文本设置为 null ?我想问这个问题,因为在他们的文档中我找不到任何与他们在减速器中使用动作相关的内容。 如果这不是一个好的做法,那么你会不会碰巧知道这有什么缺点?

是的,基于redux-form内部的一些问题github,以及从社区收到的加一数量,我们可以肯定地说,听reduxform动作是正常的,我相信这是 HOC 的预期目的之一,是减少需要为表单定义的样板操作类型的数量。

基于此 link https://github.com/erikras/redux-form/issues/2459 ,我们可以肯定地说,在某些时候,目的是记录 redux-form actionTypes。

也基于此,https://github.com/erikras/redux-form/issues/2178#issuecomment-283324287

我最终在我的减速器中导入了类似这样的动作:

import { INIT, RESET } from 'redux-form/lib/actionTypes'

cont foo = (state = {}, action) => {
  case INIT:
     return {..state}
  case default:
     return state;
}

注意:如果您不是修改表单的状态,而是修改其他一些对等组件,则只执行此操作(更可能是可取的),这取决于您发出的formActions。