React 箭头函数组件使用泛型

本文探讨了在使用TypeScript时遇到的泛型问题,特别是箭头函数使用泛型导致的编译错误。错误源于TS与JSX语法的冲突。解决办法包括在函数声明中使用`<T>`或添加`extends React.Component<T, any>`。对于React组件,介绍了如何配合泛型实现更灵活的类型约束。
摘要由CSDN通过智能技术生成

当使用function使用泛型时,ts不会报错

在这里插入图片描述

当使用箭头函数使用泛型时,ts会报错

在这里插入图片描述

出现原因及解决办法

在线上编译时可以的在这里插入图片描述

因为和 JSX 语法冲突

解决办法如下

在这里插入图片描述
或者 添加 extends
在这里插入图片描述
react 组件配合泛型
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在React中,箭头函数组件是一种用于定义无状态组件的简洁语法。它们通常用于只有一个render方法的组件,没有自己的状态或生命周期方法。箭头函数组件的定义方式类似于函数表达式,使用箭头函数语法来定义组件。由于箭头函数没有自己的this,它的函数体中使用的this实际上是继承自定义它时所在的普通函数的this。这意味着箭头函数组件中的this将指向父级组件的this,或者如果定义在全局范围内,则指向全局对象window/undefined。\[1\] 在使用箭头函数组件时,需要注意一些性能问题。如果将箭头函数作为prop传递给子组件,子组件可能会进行额外的重新渲染。为了避免这种性能问题,通常建议使用class组件的语法来定义组件。\[2\] 另外,需要注意的是,箭头函数无法直接通过显示绑定修改this指向。但可以通过修改外层函数的this指向来间接修改箭头函数的this。\[3\] 总结来说,箭头函数组件是一种简洁的定义无状态组件的语法,它继承自父级组件的this,并且需要注意性能问题和无法直接修改this指向的限制。 #### 引用[.reference_title] - *1* *3* [react组件箭头函数使用](https://blog.csdn.net/weixin_39289876/article/details/122534211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在React的render方法中使用箭头函数](https://blog.csdn.net/wu_xianqiang/article/details/109187963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值