繁体   English   中英

如何在 useState 中更新对象中的一个键的值

[英]How to update one key's value in a object in useState

如何在 useState 中仅更改 [openWord] 中一个键的值,当我单击特殊按钮时,我只想更改一个键的值,即 openWord.pol 从 false 变为 true?

const [openWord, setOpenWord] = useState({
    pol: false,
    eng: false,
    ger: false
});
  const showWord = e => {
    let value = e.target.value; //in value is to choose pol,eng,ger
    setOpenWord(!openWord.pol); //-> setOpenWord(!openWord.value)
    console.log("openWord", openWord);
  };

使用setOpenWord({...openWord, pol: !openWord.pol}); 你会做得很好。

const [openWord, setOpenWord] = useState({
    pol: false,
    eng: false,
    ger: false
});
  const showWord = e => {
    let value = e.target.value; //in value is to choose pol,eng,ger
    setOpenWord({
      ...openWord,
      pol: !openWord.pol
    })
    console.log("openWord", openWord);
  };

谢谢你的帮助 :) 我在执行时为所有对象做了 if 语句

 const [openWord, setOpenWord] = useState({
    pol: false,
    eng: false,
    ger: false
  });
  const showWord = e => {
    console.log(e.target.value);
    let value = e.target.value;
    console.log("value", value);
    if (value === "pol") setOpenWord({ ...openWord, pol: true });
    if (value === "eng") setOpenWord({ ...openWord, eng: true });
    if (value === "ger") setOpenWord({ ...openWord, ger: true });

    console.log("openWord", openWord.pol);
    return { value };
  };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM