我遇到了redux-form
的一些问题,基本上handleSubmit传递给它收到的函数的参数是空的......
让我描述一下我的文件(为了简洁起见,我将使用一个要点):
如果您可以在此行中看到:<form onSubmit={handleSubmit(this.onFormSubmit.bind(this))}>
这个超简单的功能:
onFormSubmit(fields) {
console.log(fields);
};
字段为空,但form
减速器处于活动状态,并且存在已注册的字段:
有什么想法吗?
答案 0 :(得分:2)
你的renderLoginField
函数,它呈现自定义字段组件(d'oh!)没有使用input
道具。
以下是renderLoginField
功能正确更改的代码:
const renderLoginField = ({icon, input, type, meta: { touched, error }}) => {
let mailIcon = 'fa-envelope-o';
let passIcon = 'fa-key';
return (
<div className='form-group input-group'>
<span className='input-group-addon' id='email'>
<i className={`fa ${icon === 'mail' ? mailIcon : passIcon}`} />
</span>
<input
{ ...input } // <-- missing in your code!!
type={type}
aria-describedby={type}
name={input.name}
placeholder={`Insert ${type}`}
className='form-control'/>
</div>
);
};
如果您选中the docs for <Field>
component,您会看到以下声明,其中说明了执行该操作的重要性:
输入道具
input
键下的道具是将您的输入组件连接到Redux 的内容 并且意图被解构为您的<input/>
组件