我试图分配useState方法setUsers数据数组。我想将获取用户数据数组分配给useState方法的初始数组
我的代码
const [users, setUsers] = useState([]);
useEffect(() => {
axios.get('http://localhost:8000/api/users')
.then(res => {
setUsers(u => [...u, res.data]);
});
console.log(users);
},[]);
答案 0 :(得分:1)
axios get是异步运行的,因此console.log
语句将在成功运行setUsers
之前运行。
为了更好地检查,请将console.log
移到then()
内:
const [users, setUsers] = useState([]);
useEffect(() => {
axios.get('http://localhost:8000/api/users')
.then(res => {
setUsers(u => [...u, res.data]);
console.log(users);
});
},[]);