React中Select组件onChange无法获取全局变量的值,如何解决?

React中Select组件onChange无法获取全局变量的值,如何解决?

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); // 获取全局变量的值
    // ...其他处理逻辑
  };

  // ...其他代码
};

以上就是React中Select组件onChange无法获取全局变量的值,如何解决?的详细内容,更多请关注硕下网其它相关文章!