如何把一个antdesign组件的在react中的class类写法新的函数式组件写法?

当我们使用react的比较新的18.x版本,我们还用的typescript,我们可能会比较习惯使用(const test: React.FC<PropsWithChildren<FormProps >>)

interface MenuProps{

modalVisible: boolean;

onCancel: () => void;

onConfirm: (form: any) => void;

}

const test: React.FC<PropsWithChildren< MenuProps**>**> = (props) => {

return(<div>test</div>)

}

这种写法,而不想使用 (extends React.Componen)

class Demo extends React.Component {

render() {

return(<div>test</div>)

}

}

我们要如何去改呢?官方文档是react.component 的挂载render的写法,那么我下面举个例子简单讲一下

antdesign 官方文档该树形组件控件地址:Tree - Ant Design多层次的结构列表。https://3x.ant.design/components/tree-cn/

效果图如下

1官方文档的树形控件写法

一下是修改步骤:

(1)把最外层写法修改,主要写法改一下render

改为

(2)修改state

(3)把所有调用原来this.state的地方改一下,其他函数同样如下

改为

对比图如下

(4)主要原来所有的中的所有this.xx调用函数方法去掉this (this.onExpand===》onExpand),还有把所有调用this.state.xx也把this.state去掉(如:this.state)

(4)相关依赖的引入保持不变,但是ts需要一些类型校验比较仔细,所以有些依赖的引入要注意一下,有些飘红的地方注意下类型问题

(5)修改后的完整版如下

相关推荐
大雷神几秒前
HarmonyOS APP<玩转React>开源教程十二:ModuleCard 模块卡片组件
react.js·开源·harmonyos
早點睡3906 分钟前
ReactNative项目OpenHarmony三方库集成实战:@react-native-oh-tpl/masked-view
javascript·react native·react.js
We་ct9 分钟前
LeetCode 427. 建立四叉树:递归思想的经典应用
前端·算法·leetcode·typescript·dfs·深度优先遍历·分治
小年糕是糕手9 分钟前
【35天从0开始备战蓝桥杯 -- 补充包】
开发语言·前端·数据结构·数据库·c++·算法·蓝桥杯
摸鱼的春哥16 分钟前
Agent教程20:更适合编程工具的记忆方案——情景摘要
前端·javascript·后端
架构师李肯1 小时前
TypeScript与React全栈实战:从架构搭建到项目部署,避开常见陷阱
react.js·架构·typescript
牛奶8 小时前
AI辅助开发最佳实践:2026年新方法
前端·aigc·ai编程
Hamm9 小时前
不想花一分钱玩 OpenClaw?来,一起折腾这个!
javascript·人工智能·agent
C澒9 小时前
微前端容器标准化:公共能力标准化
前端·架构
Setsuna_F_Seiei9 小时前
AI 对话应用之 JS 的流式接口数据处理
前端·javascript·ai编程