javascript - 仅保留 Reducer 中的某些字段

标签 javascript reactjs redux redux-form redux-persist

嗨,在我们的应用程序中,我们有一个 reducer 模式:

{
   data: //here we have our actual data
   fetching: // is it still fetching 
   intact: // has it been 'touched'
   error: //errors if need be
}

此外,由于业务需求,我需要保留一个 ReduxForm,它本身就是一堆蠕虫……

form: {
    Foobar: {
      values: {

      },
      initial: {

      },
      syncErrors: {

      },
      registeredFields: {

      }
    }
  }
}

正如您可能已经发现的那样,除了数据之外,持久化任何东西都是没有意义的,但是 Redux-Persist 会持久化整个 reducer。关于过滤和转换的例子有点……我觉得乏善可陈,我一直在努力实现。寻找一个例子

最佳答案

好的,所以这可以使用 redux-persist-transform-filter 像@NickHTTPS sugested:

import createFilter from 'redux-persist-transform-filter';

const saveSubsetFilter = createFilter('form', ['Foo.bar']);

const persistConfig = {
    key: 'form',
    storage,
    whitelist: ['form'],
    transforms: [saveSubsetFilter]
};

persistCombineReducers(persistConfig, { form: formReducer });

就像一个魅力:)

关于javascript - 仅保留 Reducer 中的某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52161050/

相关文章:

reactjs - 防止在包装器组件中启动 useState 的同级组件的重新渲染

javascript - 当使用 ComponentDidMount() 时我发现这个错误 : Can't call setState

测试 createAsyncThunk Redux Toolkit Jest

javascript - 为什么要使用哈希 CSS 样式表和 Javascript 文件名?

javascript - ReactJS - 错误消息 : React. createElement:类型无效 - 需要一个字符串

reactjs - React Apollo 从状态动态创建查询

javascript - 我如何使用 Redux Promise 中间件链接操作?

javascript - 在 JavaScript 中使用正则表达式从字符串中删除斜杠

javascript - d3 中的比例圆和标签

javascript - 如何使用 ElementRef 更新 Angular 样式?