【问题标题】:Values are not rendered using redux-form不使用 redux-form 呈现值
【发布时间】:2016-11-29 14:58:14
【问题描述】:

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

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

我真的很想提供代码,但出于某种原因,您网站上的代码似乎可以正常工作。 是否存在未呈现输入值的已知原因?我确定正在调用 onChange 操作。

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

编辑: 我已经删除了所有其他减速器、中间件和用于测试的东西。结果还是一样

【问题讨论】:

  • 能分享下相关sn-ps的代码吗?
  • 您已将减速器安装为form
  • 嘿@Christian,您找到解决问题的方法了吗?我面临着一个类似的问题,我无法在输入字段中输入任何内容。 onChange 被触发,但输入字段没有更新为新值。
  • 花了一整天都没找到解决办法。因此,我踢了整个 redux 形式的东西并自己构建了必要的部分。在我看来,Redux-Forms 有太多的小故障,无法在严肃的生产应用程序中使用。也许不久之后,我会开源我自己的小解决方案。比他们的东西轻得多。

标签: javascript reactjs redux redux-form


【解决方案1】:

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

这是我所拥有的:

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

import otherReducer from './otherReducer';

export default combineReducers({ otherReducer, forms });

请注意,我将 redux-form reducer 导入为 forms 并使用 ES6 Object 属性值简写将它按原样传递给我的 combineReducers(就像我对 otherReducer 所做的那样)。

问题是用于将 redux-form reducer 传递给 combineReducers 必须key 被命名为 form,所以我们要改成:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多