
react中select组件onchange无法获取全局变量的值的解决办法
react函数中打印fetchdata变量显示空值,是因为它是一个全局变量,在useeffect中被设置。而在onchange事件处理函数中,这个变量是局部状态变量tdata,而不是全局变量。
要解决这个问题,可以将fetchdata变量作为参数传递给onchange事件处理函数,或者在函数内使用usememo或usecallback钩子来缓存变量。
代码示例:
const Equipment: React.FCzuojiankuohaophpcn{ fetchdata: any, currentRef: any }youjiankuohaophpcn = (props) =youjiankuohaophpcn {
const { fetchdata, currentRef } = props;
const [form] = Form.useForm();
const [tdata, settdata] = useStatezuojiankuohaophpcnanyyoujiankuohaophpcn([]);
useEffect(() =youjiankuohaophpcn {
settdata(fetchdata);
}, [fetchdata]);
const onCellChange = (value, type, idx) =youjiankuohaophpcn {
console.log(fetchdata); // 获取全局变量的值
// ...其他处理逻辑
};
// ...其他代码
};










