我有onClick事件,它是几个函数的触发器。函数setRcomForApi(rcom)为函数ip1, port1设置值getApiVersion(ip1, port1)。问题是-第一次单击ip1, port1undefined。我尝试使用回调-但这没用...

 const onClick = () => {
        setIndexPpk(index);
        setRcomForApi(rcom);   //sets ip1 and port1 in Context State.
        getApiVersion(ip1, port1);  // on first click both undefined
    };

最佳答案

这是因为setRcomForApi(rcom)是异步的。因此,您需要使用useEffect来检查ip1和port1值的变化

 useEffect(() => {
if(ip1 && port1) {
    getApiVersion(ip1, port1);
}
}, [ip1, port1]);

07-28 11:02