React

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > React > react同步获取useState的最新状态值

react如何同步获取useState的最新状态值

作者:ass_ace

这篇文章主要介绍了react如何同步获取useState的最新状态值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

react同步获取useState的最新状态值

新的react hook写法

官方默认setState方法移除了回调函数,但我们有时候的业务场景需要我们同步拿到变量的最新变化值

以便做下一步操作,这时我们可以封装一个hook通过结合useref通过回调函数来拿到最新状态值。

代码如下

import {useEffect, useState, useRef} from "react";
 
 
function useCallbackState1 (state) {
    const cbRef = useRef();
    const [data, setData] = useState(state);
 
    useEffect(() => {
        cbRef.current && cbRef.current(data);
    }, [data]);
 
    return [data, function (val, callback) {
        cbRef.current = callback;
        setData(val);
    }];
}
 
export {useCallbackState};

使用的时候像平常一样

回调函数可以传可以不传递 

const [data,setData] = useCallbackState({});
 
setData({}, function (data) {
    console.log("啦啦啦,我是回调方法", data);
})

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文