【发布时间】:2020-04-26 11:23:00
【问题描述】:
我得到了一个 React memoized 回调,它使用了来自 redux 存储的值:
const filterValue = useSelector(state => state.filterValue);
const filter = useCallback(
item =>
includes(item.name.toLowerCase(), filterValue.toLowerCase()) ||
includes(item.description.toLowerCase(), filterValue.toLowerCase()),
[filterValue]);
我的问题是,memoized 回调是否实际上仅在 filterValue 更改时才会重新呈现,或者我是否必须将 filterValue 设置为组件状态,而不是从 redux 存储(意思是 const [filterValue, setFilterValue] = useState('');)以更改依赖项被检测到?
【问题讨论】:
-
每当
filterValue发生变化时都会重新渲染。filterValue不一定非要来useState
标签: reactjs react-redux memoization