刷新页面时,从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);
}
});