使用redux-form

时间:2016-11-29 14:58:14

标签: javascript reactjs redux redux-form

在我写这篇文章之前,我尝试了一切来寻找解决方案,但实际上没有任何效果。我有一个标准的react / redux应用程序。 (两个库都是最新版本。)

现在我想使用redux-form来控制我的表单。我添加了redux-form reducer并将“Simple Form”复制到我的应用程序中。我可以看到,在更改redux动作时会被触发,但输入字段的值永远不会被渲染。 此外,动作始终只包含我输入的最后一个字符。

我真的想提供代码,但出于某种原因,您网站上的代码似乎有效。 是否有一些已知的原因导致输入值未呈现?我确信正在调用onChange操作。

哦,我应该提一下onBlur,整个价值都会从商店中删除。

编辑: 我删除了所有其他减速器,中间件和测试用的东西。结果仍然相同

1 个答案:

答案 0 :(得分:2)

我想我刚刚找到了这个问题的解决方案,它有点愚蠢= /

这就是我所拥有的:

import { combineReducers } from 'redux';
import { reducer as forms } from 'redux-form';

import otherReducer from './otherReducer';

export default combineReducers({ otherReducer, forms });

请注意,我正在将redux-form reducer导入为forms并将其原样传递给我的combineReducers(就像我使用otherReducer一样),使用ES6 Object属性值缩写。

问题是用于将 redux-form reducer 传递给combineReducers 必须命名为表单,所以我们必须将其更改为:

export default combineReducers({ customer, form: forms });

import { reducer as form } from 'redux-form';
export default combineReducers({ otherReducer, form });

希望这会有所帮助......我只希望他们的文件更清楚。