我一直在旋转我的轮子一段时间,试图找出做这一切的最佳方法。这是我的情况:
我混合使用 React Router 和 Redux Form 来创建登录/创建帐户页面。
export default (
<Route path='/' component={App}>
<IndexRoute component={Signup} />
<Route path='signup_verify' component={SignupVerify} />
</Route>
);
当您加载主页时,它会显示创建帐户的字段
我使用 React Form 来验证字段,一旦一切正常,我就会这样做
onSubmit() {
this.context.router.push('/signup_verify')
}
从而将它们推送到向导的下一页和最后一页。在这第二页中,我有一个禁用的输入,我想用他们在之前的表单中给我的名字填充它。我怎么才能让用户提交的名字出现在第二页?
React Form 谈到了使用装饰器:
@reduxForm({
form: 'myForm'
})
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的渲染方法object
ReduxForm(Signup)
Connect(ReduxForm(Signup))
和
未捕获的 TypeError:fields.reduce 不是函数
我的第一页,截屏的来源,看起来非常类似于WizardFormFirstPage.js ( http://redux-form.com/5.2.4/#/examples/wizard?_k=y8mg56 )。WizardFormSecondPage 如何在禁用的输入中显示来自 WizardFormFirstPage 的数据?
我知道这很多,非常感谢任何帮助!此外,任何关于以另一种方式执行此操作的反馈都会很棒,或者对我目前的方法表示赞许。