Files
video-gen/video-gen-admin/node_modules/@rc-component/mentions/es/hooks/useEffectState.js
T
2026-05-25 17:08:18 +08:00

22 lines
447 B
JavaScript

import { useState, useCallback, useEffect } from 'react';
/**
* Trigger a callback on state change
*/
export default function useEffectState() {
const [effectId, setEffectId] = useState({
id: 0,
callback: null
});
const update = useCallback(callback => {
setEffectId(({
id
}) => ({
id: id + 1,
callback
}));
}, []);
useEffect(() => {
effectId.callback?.();
}, [effectId]);
return update;
}