【发布时间】:2019-07-15 08:51:02
【问题描述】:
在使用 setState 更新状态后,如果我记录状态,即使状态不为空,我也会得到空数组。
我有如下代码所示的钩子。
const [pets, setPets] = useState([]);
async function requestPets() {
const { animals: animalsProperty } = await pet.animals({
location,
breed,
type: animal
});
console.log(animalsProperty);
setPets(animalsProperty || []);
console.log(pets);
}
在将setPets 设置为animalsProperty 后,在requestPets 函数内部,即使animalsProperty 不为空,当我记录宠物时,我在控制台中看到空数组。
我可以知道为什么当我记录宠物时,宠物显示的是空数组而不是像animalsProperty这样的值吗?
【问题讨论】:
-
你可以试试 setPets(animalsProperty) 这样没有空数组吗?你能显示你在动物属性中得到的东西吗
-
我不认为空数组有任何问题,它只是一个或检查当 aniamlsProperty 为空时分配空数组。在 animasl 属性中,我得到一个像这样的数组:(3) [{…}, {…}, {…}]
标签: reactjs