【发布时间】:2020-03-27 14:28:42
【问题描述】:
我正在尝试显示一个<Loading> 组件,直到 DATA 获取成功,
之后我显示一个子组件。我不明白为什么状态没有更新...
我该如何处理?
我正在使用react-admin,但我猜这并不重要。
我有一个<Dashboard>,它应该将defibs (Array) 传递给<DefibsCard>。
当我在<DefibsCard> 中记录defibs 时,我有一个空数组。谢谢!
const Dashboard = () => {
const dataProvider = useDataProvider();
const [loading, setLoading] = useState(true);
const [defibs, setDefibs] = useState([]);
const fetchDefibs = () => {
dataProvider.getList('defibrillateurs', {
filters: {}, sort: {field: 'id', order: 'ASC'}, pagination: {page: 1, perPage: 10}
}).then((response) => {
setDefibs(response.defibs);
setLoading(false);
})
}
useEffect(() => {
fetchDefibs();
console.log(loading)
}, [])
const classes = useStyles();
return (!defibs
? <Loading />
: <div className={classes.flex}>
<div className={classes.leftCol}>
<div className={classes.flexColumn}>
// ...
<div className={classes.flex}>
<DefibsCard defibs={defibs}/> // Child component
<AlertsCard />
</div>
</div>
</div>
// ...
</div>);
};
【问题讨论】:
标签: javascript reactjs react-admin