React hooks useMemo / useCallback跳过

时间:2018-11-06 00:49:43

标签: reactjs react-hooks

如何使用useMemouseCallback的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,但是我想知道useMemouseCallback是否提供类似的功能。

0 个答案:

没有答案