我的组件是这个.....我从对象中的道具获得了初始形式的价值,我需要将其设置为redux形式以进一步更新它。 这里要指出的是,我有一个具有一个表单名称的三步式redux表单。 Example is here
import React from 'react';
import { Field, reduxForm } from 'redux-form'
import validate from './validate'
import renderField from './renderField'
const WizardFormFirstPage = props => {
const { handleSubmit } = props;
return (
<form onSubmit={handleSubmit}>
<Field
name="title"
type="text"
component={renderField}
label="Title"
/>
<Field
name="subTitle"
type="text"
component={renderField}
label="Sub-Title"
/>
<Field
name="price"
type="number"
component={renderField}
label="Price"
/>
<Field
name="brandName"
type="text"
component={renderField}
label="Brand Name"
/>
<div>
<button type="submit" className="btn btn-primary">Next</button>
</div>
</form>
);
};
export default reduxForm({
form: 'wizard',
destroyOnUnmount: false,
forceUnregisterOnUnmount: true,
validate,
})(WizardFormFirstPage);
答案 0 :(得分:0)
您可能走错了路。为商店增值需要连接到redux,但通常不建议将演示组件连接到商店。
结果,我想您可能希望将组件保持原样,并将所有事件处理程序从容器传递给它。
同时,为容器组件添加一个到商店的连接,然后在ajax的回调中将其推送到商店。
答案 1 :(得分:0)
如果您希望从不同组件的redux-form访问表单值,则可能应该使用 getFormValues 选择器,并将表单名称指定为params。通过props将表单名称从父容器传递到无状态组件。然后,您可以从props的“ formValues”字段下访问表单值。
const mapStateToProps = (state, props) => ({
formValues: getFormValues(props.form)(state),
initialValues: props.initialValues,
});