Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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 在react中更新JS状态对象的最佳路径_Javascript_React Native - Fatal编程技术网

Javascript 在react中更新JS状态对象的最佳路径

Javascript 在react中更新JS状态对象的最佳路径,javascript,react-native,Javascript,React Native,如何改进此代码 const [formData, setFormData] = useState({}); const setFormFieldValue = (name, value) => { let newValues = {}; newValues[name] = value; setFormData({...formData, ...newValues}) } 有时,这可能会产生不适当的效果,因为在渲染周期仍然剩余的情况下,formData中的值可能不会

如何改进此代码

const [formData, setFormData] = useState({});
const setFormFieldValue = (name, value) => {
    let newValues = {};
    newValues[name] = value;
    setFormData({...formData, ...newValues})
}

有时,这可能会产生不适当的效果,因为在渲染周期仍然剩余的情况下,formData中的值可能不会更新

如果要使用最新状态并用新状态更新状态,则必须访问以前的状态

例如:

const [formData, setFormData] = useState({});
const setFormFieldValue = (name, value) => {
    let newValues = {};
    newValues[name] = value;
    setFormData(prevFormData => {...prevFormData, ...newValues})
}

setFormData({…formData,[name]:value})
对于状态管理,我建议使用React类。