如何使用useMemo
's 或useCallback
's seconds 参数根据回调中的值进行优化?
const [s, setS] = useState({ page: { title: 'a', index: 3 } });
const getPage = data => data.page;
const cb = useCallback(data => setS(data), [getPage(data)]);
// ^ ain't no data here :(
useEffect(() => externalService.sub(cb));
基本上我想将回调传递给外部服务,但我希望setSomeState
只有在data.page
更改后才被调用。
我知道我可以setS
用另一个函数包装并shallowEqual
在调用它之前做一个但想知道是否useMemo
或useCallback
提供类似的东西。