react中刷新页面时未定义的redux道具



刷新页面时,从redux获取数据时遇到问题

const [filters, setFilters] = useState<string[]>(props.filters);
useEffect(() => {
(() => {
if (!_.isEqual(filters, props.filters)) {
setFilters(props.filters);
}
})();
});

我的过滤器是未定义的,即使当我检查redux devtools时,过滤器中有数据。我需要在前面触发一个事件来显示我的过滤器。

有人有主意吗?

编辑:

(如果我点击页面中的任何元素,它会加载我的过滤器(

如果我在刷新时添加setTimeout,它可以工作,但我不确定使用setTimeout是否是的解决方案

useEffect(() => {
setTimeout(() => {
setFilters(props.filters);
}, 1500);
}, []);

您可能只是错过了返回内部函数:

或者直接调用setFilters,如:

useEffect(() => {
if (!_.isEqual(filters, props.filters)) {
setFilters(props.filters);
}
});

相关内容

  • 没有找到相关文章

最新更新