【发布时间】:2021-08-30 18:00:56
【问题描述】:
我正在尝试同时使用 useRef 和 useCallback,但似乎我的 useRef 有时不会更新。这实际上很奇怪,而且只是偶尔发生。即使我使用正常的 ref 操作,它的行为也是一样的。
function useRefCallback() {
const ref = useRef(null);
const setRef = useCallback(node => {
ref.current = node;
}, []);
return [ref, setRef];
}
function MapWidget({ options }) {
const [mapWidgetRef, setMapWidgetRef] = useRefCallback();
// I try to pass to another hook to get width and height of that mapWidgetRef.
const [mapWidgetWidth, mapWidgetHeight] = useResizeObserver(mapWidgetRef);
return (
<div ref={setMapWidgetRef}>
...
</div>
}
如果我尝试打印出mapWidgetRef,有时我会得到object,这并不好,它会使mapWidgetWidth, mapWidgetHeight 未定义。大部分时间都很好,并且按预期工作。
不好
不错
我该如何解决这个问题?
【问题讨论】:
标签: reactjs use-ref usecallback