React Hook + Typescript,实现高颜值在线记账本

admin 2022年4月27日11:29:22评论143 views字数 2340阅读7分48秒阅读模式
React Hook + Typescript,实现高颜值在线记账本
点击蓝字 关注我们
React Hook + Typescript,实现高颜值在线记账本
React 已经是 JavaScript 生态系统中最受欢迎的前端框架之一。尽管人们已经对它赞不绝口,但 React 团队仍然在努力让它变得更好。
在 2018 ReactConf 大会上,React 官方发布了 Hooks,随后它席卷了整个 React 开发界。
React Hooks 允许你编写状态逻辑并使用其他 React 功能,同时无需编写类组件。你甚至可以单独使用 Hooks 来制作自己的应用程序,这对 React 相关的从业者来说是一次重大变革
React Hook + Typescript,实现高颜值在线记账本
1

Hook 带来的改变

Hook 出现之前,组件之间复用状态逻辑很难,解决方案(HOC、Render Props)都需要重新组织组件结构,且代码难以理解,很容易形成 “嵌套地狱”。组件维护越来越复杂,如事件监听逻辑要在不同的生命周期中绑定和解绑,复杂的页面的 componentDidMount 包含很多逻辑,代码阅读性变得很差。class 组件中的 this 难以理解,且 class 组件不能很好的压缩。  

Hook 就是会为解决这一系列的问题而来:
  • 避免地狱式嵌套,可读性提高。

  • 函数式组件,比 class 组件更容易理解。

  • class 组件生命周期太多太复杂,使函数组件存在状态。

  • 解决 HOC 和 Render Props 的缺点。

  • UI 和 逻辑更容易分离。

简单的例子

我们还是以上面所写的计数器为例,如果使用 Hook,它的代码结构将会变成下面的样子。
// 别忘了引入 FC 以及 useState 类型
import React, { FC, useState } from 'react'
import './App.css'

interface AppProps {
 name: string
}

// FC 是 FunctionComponent 的简称,包含一个 children 属性,它只有一个泛型类型,代表该组件的 props 类型
const App: FC<AppProps> = ({ name }) => {
 // 使用 useState 存储状态,下文会详细讲解
 const [count, setCount] = useState(0)

 const onClick = () => {
   // 使用 setCount 更新状态
   setCount(count + 1)
 }

 return (
   <div className="App">
     <div>name: {name}</div>
     <div>count: {count}</div>
     <button onClick={onClick}>+</button>
   </div>

 )
}

export default App
React Hook + Typescript,实现高颜值在线记账本

可以看到,在函数组件中,Hook 使用 useState 存储状态和更新状态,代码更加简化,而且在函数组件中无需使用 this,避免了烦人的 this 绑定问题。

2

React + TS 的结合

React 推荐使用 Typescript 进行应用开发。

实际上,随着React 和 Typescript 的日益成熟,越来越多的大厂更愿意采用 React 和 Typescript 的组合技术栈。

Typescript 是 Javascript 的超集,支持 Javascipt 的所有特性,拥抱了 ES6 规范,支持了很多 Javascript 尚不支持的特性。简单来说,Typescript 就是带类型的 Javascipt,并且可以编译为 Javascrpt。
React Hook + Typescript,实现高颜值在线记账本

为什么要用 TS

JS 最大的特点是灵活,最大的缺点则是过于灵活,尤其是在大型项目中,维护这种弱类型语法确实十分头疼。
而 TS 则能让我们像写静态语言一样写 JS,在写代码时或者编译时,我们就能提早发现类型错误,无需等待运行时。
TS 的另一大优势就是类型提示。如果大家之前有用过诸如 C#,或者 Java 等静态语言,那么自己能够明白静态语法代码的诸如类型提示,智能补全等等优势。

React Hook + Typescript,实现高颜值在线记账本

TS 还具有庞大的用户群体,只是 2020 年,TS 的下载量就达到了 6 亿次。并且前端流行的框架,如 React,Vue 等都推荐使用 TS 进行应用开发。
所以学习并开始使用 TS 会是一个未来的大趋势,React + TS 更是绝配
3

React + TS 的教程

看到大厂都在用 React + TS 开发得飞起,是不是羡慕又想学。今天就带你入门这两大神器~

蓝桥云课上线了一门《React Hook 打造精美在线记账本》,通过 13 个实验,带你闪亮入门 React、Typescript !并手把手带你开发一个高颜值的线上记账软件,在实战中感受 React + Typescript 的魅力。

React Hook + Typescript,实现高颜值在线记账本

本门课程是针对 React Hook 入门到实战的课程,课程全面讲述了 Hook 的使用方法;并且引入了 Typescript,全方位讲解如何在 React 项目中使用 Typescript 助力开发,大家可以看到在实际项目中使用 Typescript 的魅力。
单讲理论是不够的,所以在课程的后续大部分章节,我们使用这些新特性开发了线上记账软件项目。
该项目涉及了一个完整项目的所有开发流程,包括设计到实现,再到后端集成,编写单元测试等等步骤。在开发过程中逐步引入 React 生态下好用的工具库助力开发。
通过该项目的开发,大家能够深入了解 React 开发体系,提升熟练度,并了解前端项目工程化,以及工程化中的种种实践。

效果展示

详情页面:

React Hook + Typescript,实现高颜值在线记账本

编辑页面:

React Hook + Typescript,实现高颜值在线记账本

图表页面:
React Hook + Typescript,实现高颜值在线记账本
课程大纲:
React Hook + Typescript,实现高颜值在线记账本

作者介绍

清沫,资深前端开发工程师,现就职于阿里巴巴,有多年的 React 开发经验,对整个 React 的生态体系和前端工作体系有深入的研究。

适合人群

  • 希望从事前端工作的学生

  • 有一定的 Web 开发基础,想学习 Hooks 的前端开发人员

  • 对前端有兴趣的服务端开发人员


如果你想了解更多编程课程,欢迎通过文末方式领取 3 日标准会员哦~

▼扫码获取福利▼

React Hook + Typescript,实现高颜值在线记账本


React Hook + Typescript,实现高颜值在线记账本
戳戳“阅读原文”直达课程页面!

原文始发于微信公众号(蓝桥云课精选):React Hook + Typescript,实现高颜值在线记账本

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月27日11:29:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   React Hook + Typescript,实现高颜值在线记账本https://cn-sec.com/archives/948778.html

发表评论

匿名网友 填写信息