首页 > 解决方案 > 在 useState Hook 中更新对象属性,属性名称应从变量中获取

问题描述

  const [fee, setFee] = useState({newPatient:'',establishedPatient:''})

  const field1='newPatient'        
  const field2='establishedPatient'
      

我想更新费用对象属性。属性名称应取自变量 (field1,field 2)

   onChangeText={(val)=>setFee({...fee,newPatient:val})}. //Working
   onChangeText={(val)=>setFee({...fee,...fee[field1]=val})} //Here I'm using field 1 variable to get the property name and its not working

预期结果 在这里我可以看到另外 2 个属性 0,1

标签: javascriptreactjsreact-nativeobject

解决方案


这就是你想要的

onChangeText={(val)=>setFee({...fee, [field1]: val })}

推荐阅读