【问题标题】:Unhandled Rejection (TypeError): setState is not a function未处理的拒绝(TypeError):setState 不是函数
【发布时间】:2021-10-14 21:10:33
【问题描述】:

我有这个错误

Unhandled Rejection (TypeError): setUsers is not a function

这就是我获取的内容以及获取方式

const { users, setUsers } = useState([]);

  const fetchUsers = async () => {
    const data = await fetch("https://randomuser.me/api/?results=10");
    const json = await data.json();
    setUsers(json);
  };

我在控制台中查看数据没有问题,但是当我尝试更新状态时出现问题。

【问题讨论】:

  • 使用了错误的括号。使用方括号表示 useState。 const [ 用户,setUsers ] = useState([]);
  • { users, setUsers } ----> [ users, setUsers ]

标签: reactjs api use-state


【解决方案1】:

你必须这样做:

const [ users, setUsers ] = useState([]);

const fetchUsers = async () => {
    const data = await fetch("https://randomuser.me/api/?results=10");
    const json = await data.json();
    setUsers(json);
};

因为useState() 返回一个数组。

【讨论】:

  • 对哈哈。谢谢!我不知道我是怎么错过的
  • @Frontmaniaac 如果可以,请接受明确问题的答案
猜你喜欢
  • 2018-12-09
  • 2020-11-16
  • 2020-05-06
  • 2019-10-27
  • 2020-09-26
  • 2021-04-16
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多