繁体   English   中英

useEffect TypeError:不可迭代

[英]useEffect TypeError: not iterable

我在这里用头撞墙。 我想将选择号码添加到 playerOne 数组中。

  const [pick, setPick] = useState(1);
  const [playerOne, setPlayerOne] = useState([]);
  const [playerTurn, setPlayerTurn] = useState("X");

  useEffect(() => {
    setPlayerOne([...playerOne, ...pick]);
  }, [pick, playerOne]);

这是我得到的错误

TypeError: pick is not iterable
(anonymous function)
src/App.js:28
  25 | const [playerTurn, setPlayerTurn] = useState("X");
  26 | 
  27 | useEffect(() => {
> 28 |   setPlayerOne([...playerOne, ...pick]);
     | ^  29 | }, [pick, playerOne]);

我用过 .push() 并且给出了同样的错误。

我在这里想念什么?

pick是数字。 不能传播。 直接添加。

useEffect(() => {
    setPlayerOne([...playerOne, pick]);
  }, [pick, playerOne]);

暂无
暂无

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

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