问题标签 [redux-form]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
233 浏览

javascript - 在 Redux-Form 上,我可以在验证之后但在提交之前处理值吗?

我正在使用Redux-Form,我有以下场景:

数字和日期时间是特殊的,因为在您填写完字段(例如 )之前它们可能是无效12/08/的。此外,您可能有多个字符串表示相同的值(例如2.50002.5)。

出于这个原因,我决定在表单和应用程序状态中将所有字段都保留为字符串。

问题是我需要在验证后处理字段的值,以便发送到服务器的 JSON 实际上具有数字和日期时间,而不仅仅是字符串。

这是理想的解决方案吗?如果是这样,我该怎么做?

0 投票
1 回答
1557 浏览

reactjs - 将规范化器与 ReduxForm 一起使用会导致表单总是很脏

我正在使用规范器将来自 rest api 的ISO 8601 日期/时间值(例如)转换为简单的日期( 例如)。我的规范化器看起来像这样:2016-05-24T20:38:34+00:00 2016-05-24

我还使用规范化器进行货币转换(例如,确保它只是数字等)。

我面临的问题是这导致表单总是很脏。换句话说,一旦加载初始状态(通过initialValuesin mapStateToPropsthis.props.dirty总是返回 true。即使调度 areset也不会导致dirty=false.

有没有办法克服这个问题?我遇到的问题是我希望能够向用户显示他们即将放弃更改的警告,而不必onChange为每个输入字段实现我自己的覆盖,现在他们总是被警告放弃的变化。

0 投票
1 回答
1228 浏览

reactjs - 使用带有语义 UI 的 Redux 表单

我试图弄清楚我应该将我的扩展运算符放在我的语义 UI 表单中的哪个位置。

{...gender}目前你可以看到我在divwith 类中有我的扩展运算符 , menu。当我从下拉框中选择时,它会记录undefined

有人有想法吗?

0 投票
2 回答
5173 浏览

reactjs - 将 Redux 表单与 React 路由器一起使用

我一直在旋转我的轮子一段时间,试图找出做这一切的最佳方法。这是我的情况:

我混合使用 React Router 和 Redux Form 来创建登录/创建帐户页面。

当您加载主页时,它会显示创建帐户的字段

在此处输入图像描述

我使用 React Form 来验证字段,一旦一切正常,我就会这样做

从而将它们推送到向导的下一页和最后一页。在这第二页中,我有一个禁用的输入,我想用他们在之前的表单中给我的名字填充它。我怎么才能让用户提交的名字出现在第二页?

React Form 谈到了使用装饰器:

http://redux-form.com/5.2.4/#/api/get-values?_k=eo04uv

https://github.com/erikras/redux-form/issues/260#issuecomment-155852315

我将环境设置为能够使用装饰器,但是当我尝试在上面几行代码中实现相同的代码时,出现错误消息:

Warning.js:45Warning: 失败的 propType:提供给fields的类型无效的 prop ,需要一个数组。检查.warning @warning.js:45 getValues.js:59的渲染方法objectReduxForm(Signup)Connect(ReduxForm(Signup))

未捕获的 TypeError:fields.reduce 不是函数

我的第一页,截屏的来源,看起来非常类似于WizardFormFirstPage.js ( http://redux-form.com/5.2.4/#/examples/wizard?_k=y8mg56 )。WizardFormSecondPage 如何在禁用的输入中显示来自 WizardFormFirstPage 的数据?

我知道这很多,非常感谢任何帮助!此外,任何关于以另一种方式执行此操作的反馈都会很棒,或者对我目前的方法表示赞许。

0 投票
1 回答
8893 浏览

reactjs - 如何在页面上多次嵌入相同的 redux-form?

我在尝试在一页上嵌入多个表单时遇到问题。我注意到configForm执行一次,即使页面上有多个表单,这就是为什么我不能动态生成不同的表单名称。

显示绑定在一起的多个文本字段的屏幕截图

如何添加表单以使它们彼此独立?

0 投票
0 回答
484 浏览

redux-form - Redux Form:如何为嵌套属性添加对象

我想要以下模型:

我希望表单的用户能够做出以下状态(它们都有自己的含义):

默认情况下,redux-form 会{}从模式中删除空对象: https ://github.com/erikras/redux-form/issues/1047#issuecomment-221925136

因此,鉴于这种行为,状态 1 和状态 2 是相同的,也许状态 3 也是相同的。

我试图Field为 prop2 添加一个,但这没有用。我希望FieldObject类似于FieldArraywithadddelete属性。

为嵌套属性自动创建父级是 redux-form 的一个很酷的特性,但对于上面的用例,它不匹配......

0 投票
1 回答
2096 浏览

reactjs - 根据字段值动态更改 redux-form

我有一个由三个字段组成的表单。如果字段#1 的值等于true,则必须从表单中删除字段#3,如果字段#1 的值等于false,则需要将字段#3 放回表单中。

我没有找到一种简单、干净的方法来做到这一点。

redux-form 站点上的一个示例解释了如何根据表单容器的状态动态构建表单。容器将字段数组作为 a 传递给表单组件prop,控制字段数组的输入字段在容器内。我不能真正使用这种方法,因为字段 #1 必须在表单内。

我尝试使用 CSS 简单地隐藏字段 #3,但是验证规则不知道哪些字段被隐藏。

0 投票
1 回答
816 浏览

javascript - 如何在 React 中使用 React/Redux 表单在编辑中获取帖子值

我正在用 react redux 制作简单的博客。作为包,我使用的是 redux 表单,我制作了诸如发布、获取、删除之类的事件,但我无法编辑表单,因为我无法在编辑中获取值标题和正文。我尝试通过在 componentwillMount 中进行初始化来解决它,但是 当我在 ComponentWillMount 中编写this.props.edit.title时,无法读取未定义的属性“标题”会出错

我该如何解决这个问题,如何在编辑表单中获取值

0 投票
4 回答
14705 浏览

reactjs - Redux-form handleSubmit:如何访问 store 状态?

在进行 Ajax 调用的 redux-formhandleSubmit函数中,Ajax 中需要一些来自 Redux 状态的属性(例如用户 ID)。

如果我想在表单的组件中定义这将很容易handleSubmit:只需调用mapStateToProps传入我需要的任何内容,然后从this.props我的handleSubmit.

但是,就像一个优秀的 React-Redux 开发人员一样,我编写了单独的视图组件和容器,因此我的视图组件可以很简单,几乎没有行为。因此,我想在我的容器中定义 handleSubmit

再次,简单的 - redux-form 被设置为做到这一点。定义一个onSubmitin mapDispatchToProps,表单会自动调用它。

除了,哦等等,mapDispatchToProps没有办法访问 redux 状态。

好的,没问题,我只需将我需要的道具handleSubmit与表单值一起传递。

嗯,等等,使用这种机制是不可能传递任何数据的handleSubmit!你得到一个参数,values,并且没有办法添加另一个参数。

这留下了以下没有吸引力的替代方案(我可以验证 1 和 2 是否有效):

1在表单组件中定义一个提交处理程序,并从那里调用从 mapDispatchToProps 传入的我自己的自定义提交处理程序函数。这没关系,但需要我的组件知道一些来自 redux 状态的道具,这些道具不需要显示表单。(这个问题不是 redux-form 独有的。)

或者,更简洁地说,这都可以组合成一个箭头函数:

然后为了使这个处理程序完全不可知,它可以将整个 this.props 传回自定义处理程序:

2在mergeProps 中定义onSubmit而不是mapDispatchToProps,这样就可以访问stateProps。Dan Abramov 建议不要使用 mergeProps(出于性能原因),所以这似乎不是最理想的。

3将状态属性复制到未映射到表单组件中的任何输入控件的redux-form 字段中。这将确保它们可以在values传递回的参数中访问handleSubmit。这似乎是一种黑客行为。

一定有更好的办法!

有没有更好的办法?

0 投票
1 回答
412 浏览

ajax - 结构化 Ajax 调用 Redux-Form 动作以用 Mongo 表达

我对 JS 和反应比较陌生,我正在使用 Redux-Form 将一个简单的项目添加到我的 mongo db 中。我已经配置了表单,并且 API 是使用 db 连接定义的,但我认为我没有正确地在操作中构建我的代码,以便它以一种可以解释的方式发送数据。

具体来说,我在按下提交后看到了表单数据,但出现 500 错误。有人可以指出我适当地塑造我的 ajax 请求的方向,以便接收数据库帖子的可用数据吗?

在此处输入图像描述

新物品形式:

行动

表达 index.js

newItem 的 api 端点

process_params (/Users/mary/working-files/closet-redux/node_modules/express/lib/router/index.js:330:12) 在下一个 (/Users/mary/working-files/closet-redux/node_modules/express /lib/router/index.js:271:10) 立即。(/Users/mary/working-files/closet-redux/node_modules/express-session/index.js:432:7)