我需要在eventEmitter3发出的某个事件上更新useCallback挂钩。 现在,我用当前时间更新本地状态以触发useCallback。那行得通,但看上去疯狂复杂。有更好的解决方案吗?
const [referencesDidChange,setReferencesDidChange] = useState(0);
useEffect(() => {
const referencesChange = () => {
setReferencesDidChange(new Date().getTime());
};
eventEmitter.on(Events.ReferencesChange,referencesChange);
return () => {
eventEmitter.removeListener(Events.ReferencesChange,referencesChange);
};
},[]);
const renderLeaf = useCallback(props => <Leaf {...props} />,[referencesDidChange]);