2

如何使用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在调用它之前做一个但想知道是否useMemouseCallback提供类似的东西。

4

0 回答 0