You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React使用函数组件时报错,如何将类组件的文件上传代码转为函数组件写法?

改造后的函数组件写法如下:

import React, { useState } from 'react';
// 以下两个导入路径按你项目实际配置调整即可
import Grid from '@mui/material/Grid';
import UploadComponent from './UploadComponent';

const YourEditComponent = () => {
  // 替代类组件的this.state声明状态
  const [brokerLogoUrl, setBrokerLogoUrl] = useState('');

  const onUpload = (url) => {
    console.log('I have been clicked', url);
    // 替代类组件的this.setState更新状态
    setBrokerLogoUrl(url);
  };

  const callbacks = { upload: onUpload };

  return (
    <Grid className="CoomonT">
      <UploadComponent {...callbacks} />
    </Grid>
  );
};

export default YourEditComponent;

核心改动说明

  • 用useState Hook替代类组件的this.setState管理brokerLogoUrl状态,无需额外处理this上下文绑定问题
  • 上传回调直接在函数组件内部定义即可,原有逻辑完全复用,没有变动
  • 注意修正原类组件代码里Grid标签大小写不一致的问题,组件标签统一用大写开头

内容的提问来源于stack exchange,提问作者govind jha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:15:02