【发布时间】:2021-03-04 06:18:06
【问题描述】:
我像这样从我的数据库中获取数据:
const clicked = props.clicked;
const [allEmployees, setAllEmployees] = useState([]);
const [list, setList] = useState([]);
useEffect(()=>{ //getting employees
Axios.get(
PATH + `/${employees}`
).then((data) => {
setAllEmployees(data.data);
});
},[]);
useEffect(()=>{ //getting list of employees who should be selected
Axios.get(
PATH + `/${list}`
).then((data) => {
setList(data.data);
setList(
allEmployees.map(t=>{
if(list.includes(t.id)){
return{
select: true,
id: t.id,
name: t.name
}
}else{
return{
select: false,
id: t.id,
name: t.name
}
}
})
)
console.log(allEmployees);// <<
console.log(list);// <<
});
},[clicked]);
我的问题是我第一次单击按钮时,激活 clicked.props,两个 console.log() 都显示空数组。在第二次单击后,它们开始工作并显示阵列。我猜我需要以更好的方式更新它们,但不知道如何。 (我正在尝试显示数据,但在第一次单击按钮时实际上什么也没显示)。
【问题讨论】:
-
标题中不要大喊大叫
-
编辑删除大喊大叫。
标签: javascript reactjs react-hooks use-effect