Reactjs 如何在不影响其他参数的情况下更新一项?

Reactjs 如何在不影响其他参数的情况下更新一项?,reactjs,firebase,google-cloud-firestore,Reactjs,Firebase,Google Cloud Firestore,我只想更新数据库中的一件事,怎么做 假设我想更新imgUrl,如何只更新它而不影响其他参数 updateDataProjects=(id、companyName、imgUrl、userOrderCollection)=>{ firebase.firestore() .收集(“项目”) .doc(id) .设置({ 公司名称:公司名称, 伊姆古尔:伊姆古尔, userOrderCollection:userOrderCollection }) } 您可以将函数的参数作为对象传递updateDat

我只想更新数据库中的一件事,怎么做

假设我想更新imgUrl,如何只更新它而不影响其他参数

updateDataProjects=(id、companyName、imgUrl、userOrderCollection)=>{
firebase.firestore()
.收集(“项目”)
.doc(id)
.设置({
公司名称:公司名称,
伊姆古尔:伊姆古尔,
userOrderCollection:userOrderCollection
})
}

您可以将函数的参数作为对象传递
updateDataProjects({id,companyName,imgUrl,userOrderCollection})

并用作
updatedatprojects({imgUrl})

您可以将函数的参数作为对象传递
updateDataProjects({id,companyName,imgUrl,userOrderCollection})

并用作
updatedatprojects({imgUrl})

添加
{merge:true}
作为
set
的第二个参数,它只会更新提供的字段

firebase.firestore()
  .collection("projects")
  .doc(id)
  .set({
    imgUrl: imgUrl,
  }, {merge: true})
}
更多关于这方面的信息,请参阅这里的文档

如果您只想更新一个项目,那么只需传入一个项目。所以
更新的项目(,,imgUrl)
。但是你必须意识到要把它作为第三个参数传入,所以在两个逗号之后


更好的解决方案是将参数转换为单个对象,这样就不必担心参数的顺序。因此,调用变成
updatedaprojects({id,companyName,imgUrl,userOrderCollection})
。然后可以在函数中对同一道具进行解构,如so
constupdatedaptaprojects=({id,companyName,imgUrl,userOrderCollection})=>{…}
。如果您只希望一个字段只在
UpdateDapProjects({imgUrl})
中传递一个字段,并且顺序不再重要。

添加
{merge:true}
作为
set
的第二个参数,它将只更新提供的字段

firebase.firestore()
  .collection("projects")
  .doc(id)
  .set({
    imgUrl: imgUrl,
  }, {merge: true})
}
更多关于这方面的信息,请参阅这里的文档

如果您只想更新一个项目,那么只需传入一个项目。所以
更新的项目(,,imgUrl)
。但是你必须意识到要把它作为第三个参数传入,所以在两个逗号之后


更好的解决方案是将参数转换为单个对象,这样就不必担心参数的顺序。因此,调用变成
updatedaprojects({id,companyName,imgUrl,userOrderCollection})
。然后可以在函数中对同一道具进行解构,如so
constupdatedaptaprojects=({id,companyName,imgUrl,userOrderCollection})=>{…}
。如果您只希望一个字段只在
updateDataProjects({imgUrl})
中传递一个字段,并且顺序不再重要。

您的问题不是很清楚,您希望更新imgUrl,但json结构是什么?您想只更新对象键的值还是其他什么?请提供更多详细信息我的意思是,我的更新函数接受多个参数,如果我只需要更新一个参数该怎么办?如果你有一个函数接受多个参数,并且你只想更新一个参数,你可以使用参数的默认值。例如这里的第二个参数是可选函数multiply(a,b=1){returna*b;}您的问题不是很清楚,您想更新imgUrl,但json结构是什么?您想只更新对象键的值还是其他什么?请提供更多详细信息我的意思是,我的更新函数接受多个参数,如果我只需要更新一个参数该怎么办?如果你有一个函数接受多个参数,并且你只想更新一个参数,你可以使用参数的默认值。例如这里的第二个参数是可选函数multiply(a,b=1){返回a*b;}