Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/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
Reactjs 使用React钩子更新状态对象_Reactjs - Fatal编程技术网

Reactjs 使用React钩子更新状态对象

Reactjs 使用React钩子更新状态对象,reactjs,Reactjs,这个问题很简单,但不知何故,我似乎无法让它起作用。我有这种状态,在一次特定的点击中,我只想擦除对象内部的值 const [values, setValues] = useState({ fieldName: "test", fieldValue: "test2" }); 我想将值更新为空值,如{ 字段名:“”, 字段值:“ }.我该怎么办? 我试过这个代码,但不起作用 setValues({ ...values, fieldName: "", fieldValue: "

这个问题很简单,但不知何故,我似乎无法让它起作用。我有这种状态,在一次特定的点击中,我只想擦除对象内部的值

  const [values, setValues] = useState({
    fieldName: "test",
    fieldValue: "test2"
  });
我想将值更新为空值,如{ 字段名:“”, 字段值:“ }.我该怎么办? 我试过这个代码,但不起作用

setValues({ ...values, fieldName: "", fieldValue: "" });
编辑:我的代码正常工作,但其他组件出现了另一个问题


告诉我它是否工作

我希望您需要清空本地状态中的值,然后尝试以下操作

 setValues({ 
        fieldName: "", 
        fieldValue: "" 
 });
试试这个

const [values, setValues] = useState({})
setValues({})

如果您想编写类似于
values.fieldName
的验证,它不会抛出任何错误,因为values.fieldName是
undefined

您可以显示完整的代码吗?您的代码应该可以正常工作,您如何检查它是否工作?只需尝试此
设置值({fieldName:,fieldValue:})旁注:建议使用复杂状态对象的方法是使用。当您有涉及多个子值的复杂状态逻辑时,或者当下一个状态依赖于前一个状态时,文档确实说
useReducer
通常比
useState
更可取。这似乎与您的用例完全匹配是的,代码还可以,我还有一个小问题。对不起,现在是下午5:30:p
const [values, setValues] = useState({})
setValues({})