react hooks中为useState添加回调函数

function useCallbackState(od) {
  const cbRef = useRef();
  const [data, setData] = useState(od);

  useEffect(() => {
    cbRef.current && cbRef.current(data);
  }, [data]);

  return [
    data,
    function (d, callback) {
      cbRef.current = callback;
      setData(d);
    }
  ];
}

定义初始化数据:

const [activeTabName, setActiveTabName] = useCallbackState('');

修改数据:

setActiveTabName(current[0].title, (activeTabName) => {});

 

posted @ 2022-03-18 11:02  天官赐福·  阅读(491)  评论(0)    收藏  举报
返回顶端