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










