我有一个反应组件,它接收从其父级过滤的道具。当父道具更改时,我getDerivedStateFromProps
在以下代码中使用子道具:
static getDerivedStateFromProps(props, state) {
if (props.filter === null) {
return state;
}
const { name, description } = props.filter;
ApiService.get("cards", { name: name, description: description })
.then(response => {
console.log("get request returned ", response.data);
return { cards: response.data };
}
);
}
在控制台中,response.data
日志是适当的对象数组。但是状态不会更新,渲染函数仍然使用旧cards
数组,而不是从ApiService
响应中接收到的数组。如何使cards
数组正确更新,以便在下一次渲染时显示过滤后的卡片?