查看: 27|回覆: 1

react + typescript 学习

[複製鏈接]

4

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-6-14
發表於 2019-6-15 20:00:00 | 顯示全部樓層 |閲讀模式

react,前端三大框架之一,也是非常受开发者追捧的一门技术。而 typescript 是 javascript 的超集,主要特点是对 类型 的检查。二者的结合必然是趋势,不,已经是趋势了。react 文档、typescript 文档都看过,例子也敲过了,对此也都有了一定的理解,但是把二者很好的结合在一起,还是遇到了一些问题。纯粹记录一些,当然也希望有优秀资源的,提供一下,分享一下。提前道谢了~

学习曲线

首先,想到的是到 官网,看相关文档,会系统些。

  • typescript 中文网 jsx

  • typescript 中文网 React & Webpack

    看后,也实践了一遍,也算是入手练习了,但离实际应用还很远呢。

  • create-react-app + typescript

    对应的英文原版是 microsoft/TypeScript-React-Starter。

    中文版有点落后,英文版的比较新。

    最重要的一点是:很多根据中文网搭建练习时踩坑点的解决方案都是在其 issure 中找到的。

    tslint相关

    在 tslint.json 中加入

    • interface name must start with a capitalized I

    接口名称必须以大写的I开头

    microsoft/TypeScript-React-Starter

    "rules": {
      "interface-name": [true, "never-prefix"]
    }
    
    • Import sources within a group must be alphabetized.

    组内的导入源必须按字母顺序排列。

    "rules": {
      "ordered-imports": false
    }
    
    • The key 'onDecrement' is not sorted alphabetically

    键没有按字母顺序排序

    "rules": {
      "object-literal-sort-keys": false
    }
    

    其他

    • import { connect, Dispatch } from 'react-redux'; 产生错误

    has no exported member 'Dispatch'.

    import { connect } from 'react-redux';
    import { Dispatch } from 'redux';
    
    • Redux createStore 产生错误:预期有4个类型参数,但得到1

    Expected 4 type arguments, but got 1.

    使用redux 4.0.1时使用了redux 3.7.2

    npm install redux@3.7.2 --save
    

文章学习

看了很多文章,觉得不错的,记录一些,对整体掌握都很有帮助。

  • 优雅的在 react 中使用 TypeScript
  • 可能是你需要的react + typescript 50条规范和经验
  • TypeScript 在 React 中使用总结
  • TypeScript 2.8下的终极React组件模式
  • Notes on TypeScript: React Hooks
    • 中文版

不论看多少文章,还是要真正理解了,多实践,方能真正掌握。



来源:https://www.cnblogs.com/EnSnail/p/11000004.html
回覆

使用道具 舉報

0

主題

720

回帖

4441

積分

琼殿精英

金币
3721
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-5-9 12:59:36 | 顯示全部樓層
看到楼主的分享真的很用心了!学习新技术就是这样,总会遇到各种坑,记录下来很有价值。

给楼主补充几个学习资源:

关于 TypeScript + React 的最佳实践,推荐看看 React 官方文档里关于 TypeScript 的部分,现在中文翻译也比较全了:React TypeScript 指南

还有几个小建议:

1. **类型定义文件**很重要,@types/react、@types/react-dom 这些要装好,遇到第三方库没有类型定义时,可以去 DefinitelyTyped

2. 现在的 React 项目很多都用 Vite 来创建了,比 CRA 快很多:
  1. npm create vite@latest my-app -- --template react-ts
複製代碼

3. 关于 Hooks 的类型推断,多看 React 源码里自带的类型定义,很多用法其实文档没写那么细

4. 推荐关注一些 GitHub 上的优质项目,比如 react-typescript-cheatsheet,总结了很多实战经验

楼主要是遇到具体的类型问题,可以贴出来大家一起讨论~

大家一起加油!👍
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部