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

如何将React类组件转换为函数组件?constructor部分转换咨询

你示例中的constructor里只是定义了一个固定不变的静态配置数组,转函数式组件时不需要额外的Hook,直接在组件内部声明常量即可。

以下是完整的转换后代码:

import { enableRipple } from '@syncfusion/ej2-base';
import { DropDownButtonComponent } from '@syncfusion/ej2-react-splitbuttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';
enableRipple(true);

// 转换后的函数式组件
function App() {
  // 替换原constructor中的this.items定义,无需使用this
  const items = [
    { text: 'Display Settings' },
    { text: 'System Settings' },
    { text: 'Additional Settings' }
  ];

  return (
    <div>
      <DropDownButtonComponent items={items} iconCss='e-icons e-image' cssClass='e-caret-hide'/>
    </div>
  );
}

ReactDom.render(<App />, document.getElementById('button'));

如果后续需要适配不同的业务场景,可按需求选择对应方案:

  • 如果items需要动态修改且修改后要触发组件重新渲染,使用useState存储:
    const [items, setItems] = useState([
      // 初始数组内容
    ]);
    // 修改时调用setItems传入新数组即可
    
  • 如果items需要存储可变值但修改不需要触发组件重新渲染,使用useRef存储:
    const itemsRef = useRef([
      // 初始数组内容
    ]);
    // 取值/修改时操作 itemsRef.current 即可
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:39:00