TS 踩坑笔记: 箭头函数添加泛型报错(Error: JSX element ‘T‘ has no corresponding closing tag.ts(17008))

TS 踩坑笔记: 箭头函数添加泛型报错(Error: JSX element ‘T’ has no corresponding closing tag.ts(17008))

前言

今天给大家分享一个在 React 项目中使用 TypeScript 遇到的错误

正文

项目背景

React + TS 的项目配置,项目中关于 React 组件的使用 .tsx 后缀,其他单纯的文件使用 .ts 后缀

问题描述

在 React 组件附近定义泛型的箭头函数时产生 TS 报错警告,原本以为是语法写错了

但是实际上在 .ts 文件中是正常解析的,也就是说并不是语法问题

解决方案:加逗号

最后发现其实是因为泛型的语法与 JSX 的语法冲突,导致 TS 解析成 JSX 而产生 unexpected token 的问题

其实解决方案很简单

  • 一种是就不要写在 .tsx 文件里面就不会报错
  • (推荐)第二种就是在后面加一个逗号就能正确解析了

结语

TS 某些语法和解析规则藏的比较深,直接去看最表面的文档有时候可能比较难发觉到问题,主要就是要多用多会

其他资源

参考连接

TitleLink
具有泛型的 Typescript 箭头函数的语法是什么?https://qastack.cn/programming/32308370/what-is-the-syntax-for-typescript-arrow-functions-with-generics

完整代码示例

https://github.com/superfreeeee/Blog-code/tree/main/front_end/typescript/ts_note_generic_arrow_function

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值