Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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表单-仅提交已编辑字段_Javascript_Forms_Reactjs_Redux Form - Fatal编程技术网

Javascript redux表单-仅提交已编辑字段

Javascript redux表单-仅提交已编辑字段,javascript,forms,reactjs,redux-form,Javascript,Forms,Reactjs,Redux Form,在这个例子中,我有一个表单来更新用户信息,它是用React with redux表单6.5编写的。我是这堆东西的新手 渲染窗体函数类似于: render(){ const{handleSubmit}=this.props; 返回( 登录 ); 我有reduxForm连接: const extendedComponent=reduxForm({ 表单:“userdetail”, 验证 })(用户详细信息); 我有以下几点: handleFormSubmit(用户){ //TODO:我怎样才能只

在这个例子中,我有一个表单来更新用户信息,它是用React with redux表单6.5编写的。我是这堆东西的新手

渲染窗体函数类似于:

render(){
const{handleSubmit}=this.props;
返回(
登录
);
我有reduxForm连接:

const extendedComponent=reduxForm({
表单:“userdetail”,
验证
})(用户详细信息);
我有以下几点:

handleFormSubmit(用户){
//TODO:我怎样才能只得到触动的磁场?
this.props.updateUser(用户);
}
我在验证后正确地接收到对象用户,发送PUT调用,一切正常

但是我不喜欢发送PUT中的所有数据,我的愿望是只将编辑后的数据发送到PUT。 我知道我可以检索初始值并比较所有字段

还有另一种方法吗?我怎样才能只得到触碰过的领域

这样做的最佳实践是什么

在我看来,这是一项普通的任务,我没有发现任何关于这一点的东西,所以我认为我完全没有抓住要点


谢谢大家:)

根据
redux表单的维护者所说:
项目:

在这个回答中,他建议自己处理差异化,或者使用预先存在的库,比如

例如:

import diff from 'object-diff'

handleFormSubmit(user, dispatch, props) {
  const { initialValues } = props 
  const changedValues = diff(initialValues, user)
  this.props.updateUser(changedValues);
}

谢谢,我想问这个问题。