Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编辑字段不工作&;使用redux存储管理表单值-redux表单_Javascript_Reactjs_Redux_React Redux_Redux Form - Fatal编程技术网

Javascript 编辑字段不工作&;使用redux存储管理表单值-redux表单

Javascript 编辑字段不工作&;使用redux存储管理表单值-redux表单,javascript,reactjs,redux,react-redux,redux-form,Javascript,Reactjs,Redux,React Redux,Redux Form,我使用的是redux表单v6.7.0。我引用了这一点,并尝试在单击按钮时异步加载数据,但它没有按预期工作。我使用了component willreceiveprops中的change方法,但使用后我无法编辑该字段 我不知道使用change方法是使用redux表单进行管理的唯一合适的方法。PFB使用组件中的change方法加载personName的示例代码片段将接收props,之后我无法编辑该字段。对于人物,字段工作正常,因为我没有对其使用change方法 此外,我希望将所有更改的表单值与我的re

我使用的是
redux表单
v6.7.0。我引用了这一点,并尝试在单击按钮时异步加载数据,但它没有按预期工作。我使用了
component willreceiveprops
中的
change
方法,但使用后我无法编辑该
字段

我不知道使用
change
方法是使用
redux表单进行管理的唯一合适的方法。PFB使用
组件中的
change
方法加载
personName
的示例代码片段将接收props
,之后我无法编辑该
字段。对于
人物
字段
工作正常,因为我没有对其使用
change
方法

此外,我希望将所有更改的表单值与我的
redux
存储同步(意味着用我的
redux
存储更新每个更改)

任何帮助都将不胜感激。提前谢谢

/*还原程序应始终保持不变性*/
函数PersonInfoReducer(状态={personName:,人物:},操作){
开关(动作类型){
案例“保存人员数据”:
返回Object.assign({},state,action.payload);
违约:
返回状态;
}
}
/*保存个人数据操作*/
var savePersonData=(数据)=>{
返回{
键入:“保存个人数据”,
有效载荷:数据
};
};
/*表单示例组件*/
类FormSample扩展了React.Component{
componentDidMount(){
}
组件将接收道具(下一步){
//console.log(nextrops);
const{change}=this.props;
//调试器;
if(nextrops.initialValues){
更改(“personName”,nextrops.initialValues.personName);
//变更(“人物”,nextrops.initialValues.personAge);
}
}
loadPersonData(){
const{initialize,savePersonData}=this.props;
变量personInfo={
人名:“亚伯拉罕”,
人物:21
};
savePersonData(personInfo);
}
render(){
返回(
this.loadPersonData()}>Load
值:{JSON.stringify(this.props.formValues)}
);
}
}
FormSample=ReduxForm.ReduxForm({
表单:“FormSample”,//此表单的唯一标识符
})(样本);
常量选择器=ReduxForm.formValueSelector(“FormSample”);
函数MapStateTops(状态){
const{personInfo}=状态;
返回{
初始值:personInfo,
formValues:选择器(状态为“personName”、“personAge”)
};
}
功能图DispatchToprops(调度){
返回Redux.bindActionCreators({
储蓄者
},派遣);
}
FormSample=ReactRedux.connect(mapStateToProps,mapDispatchToProps)(FormSample);
const allReducers=Redux.combineReducers({
形式:ReduxForm.reducer,
personInfo:personInfo
});
const store=Redux.createStore(所有还原器);
render(,document.getElementById(“根”))

我终于以这个解决方案结束了:)。PFB代码片段

/*表单示例组件*/
类FormSample扩展了React.Component{
组件将接收道具(下一步){
//const{change,initialize}=this.props;
}
loadPersonData(){
const{initialize,savePersonData}=this.props;
变量personInfo={
人名:“亚伯拉罕”,
人物:21
};
savePersonData(personInfo);
}
加载其他数据(){
const{savePersonData}=this.props;
变量personInfo={
人名:“Gnanasingh”,
人物:23
};
savePersonData(personInfo);
}
提交(){
const{formValues,savePersonData}=this.props;
savePersonData(formValues);
}
render(){
const{formValues,personInfo}=this.props;
返回(
this.loadPersonData()}>Load
this.loadAnotherData()}>加载另一个
this.submit()}>submit
表单值:{JSON.stringify(formValues,null,2)}
存储值:{JSON.stringify(personInfo,null,2)}
);
}
}
FormSample=ReduxForm.ReduxForm({
表单:“FormSample”,//此表单的唯一标识符
启用重新初始化:true
})(样本);
常量选择器=ReduxForm.formValueSelector(“FormSample”);
函数MapStateTops(状态){
const{personInfo}=状态;
返回{
初始值:personInfo,
formValues:选择器(状态为“personName”、“personAge”),
人形信息
};
}
功能图DispatchToprops(调度){
返回Redux.bindActionCreators({
储蓄者
},派遣);
}
FormSample=ReactRedux.connect(mapStateToProps,mapDispatchToProps)(FormSample);
/*还原剂应始终保持不变性*/
函数PersonInfoReducer(状态={personName:,人物:},操作){
开关(动作类型){
案例“保存\u PERSON\u数据”:
调试器;
返回Object.assign({},state,action.payload);
违约:
返回状态;
}
}
/*保存个人数据操作*/
var savePersonData=(数据)=>{
返回{
键入:“保存个人数据”,
有效载荷:数据
};
};
const allReducers=Redux.combineReducers({
形式:ReduxForm.reducer,
personInfo:personInfo
});
const store=Redux.createStore(所有还原器);
render(,document.getElementById(“根”))

得到了编辑不起作用的答案。请参考这个。我仍然需要关于如何将所有表单更改与我的
redux
存储同步的答案。