React快速入門 Part1 (內附錄屏影片)

  • 2020 年 2 月 25 日
  • 筆記

前言

當下是大前端時代,前端已經從簡單的切圖華麗轉變到了工程級項目,越來越多的能力沉澱在前端項目中,其中也包含了複雜的UI業務邏輯,用一個jQuery走天下的時代已經一去不復返了。

基於業務的持續發展我們選用了React技術棧來構建公司項目的前端能力。 而今天我們通過線上分享的方式讓大家能快速上手,錄屏的影片文件請查看文章尾部。

技術棧

起初我們在Vue和React直接進行選擇,最終我們被Ant Design項目吸引,從而選用了React。 雖然Ant Design擁有Vue實現,但是由社區貢獻的,我們穩健的選擇了官方支援React。 至於Vue和React,如果開始辯論估計能大戰365天,我們這邊就不過多的展開了。

TypeScript

為JS提供類型支援,企業級項目必備,不多做介紹,越來越多的JS項目轉向到TS,包含且不止 Vue、antd、Angular。

React Native

我們在APP端使用了RN相關技術,來構建RN APP和實現APP中小程式的能力.

Ant Design項目

Ant Design 是螞蟻金服體驗技術部推出的企業級產品設計體系,並輸出了基於這個體系的許多組件庫和解決方案。

antd

基於 Ant Design 設計語言,提供了開箱即用的高品質 React 和 Angular 組件實現,用於開發和服務於企業級中後台產品。

Ant Design Pro

開箱即用的中台前端/設計解決方案

Ant Design Mobile

一個基於 Preact / React / React Native 的 UI 組件庫

AntV

G2 / G2Plot 可視化引擎

G2 是一套基於圖形語法理論的可視化底層引擎,以數據驅動,具有高度的易用性和擴展性。用戶無需關注各種繁瑣的實現細節,一條語句即可構建出各種各樣的可交互的統計圖表。

G2Plot 是開箱即用、易於配置、具有良好視覺和交互體驗的通用統計圖表庫。

G6 / Graphin 圖可視化引擎

G6 是一個簡單、易用、完備的圖可視化引擎,它在高訂製能力的基礎上,提供了一系列設計優雅、便於使用的圖可視化解決方案。能幫助開發者搭建屬於自己的圖可視化、圖分析、或圖編輯器應用。

Graphin 取名意為 Graph Insight(圖的分析洞察),是一個基於 G6 封裝的 React 組件庫,專註在關係可視分析領域,簡單高效,開箱即用。

F2 移動端可視化方案

F2 是一個專註於移動,開箱即用的可視化解決方案,完美支援 H5 環境同時兼容多種環境(Node, 小程式,Weex),完備的圖形語法理論,滿足你的各種可視化需求,專業的移動設計指引為你帶來最佳的移動端圖表體驗。

L7 空間數據可視分析

螞蟻金服 AntV 數據可視化團隊推出的基於 WebGL 的開源大規模地理空間數據可視分析開發框架。

Ant Motion

使用 Ant Motion 能夠快速在 React 框架中使用動畫。提供了單項,組合動畫,以及整套解決方案。

More…

以上組件足以應付大多數業務場景了,的人官方和社區還有更多豐富的組件,有興趣的同學可以去官網查看。

開發環境

NodeJS

大前端必備,可以去官網下載各個平台的安裝包:https://nodejs.org/en/download/

Yarn V1

包管理器我們選擇了 Yarn V1,這邊大家不要去使用最新的V2版本berry

設置淘寶NPM鏡像

yarn config set registry https://registry.npm.taobao.org

常用命令

命令

描述

add / add -D

安裝依賴和安裝開發依賴

remove

刪除依賴

start

啟動項目

build

構建項目

upgradeInteractive

互動式更新依賴包

VSCode

我們選用了VSCode作為IDE

推薦插件安裝

插件名稱

描述

Settings Sync

同步VSCode的插件和配置到Github Gist

Auto Rename Tag

自動重命名標籤

Bracket Pair Colorizer

為括弧對提供不同的顏色標記

ESLint

ES靜態語法分析

TSLint

TS靜態語法分析

Prettier

文件格式化插件

React Native Tools

RN工具

TypeScript Import Sorter

對import進行整理和排序

推薦工作區配置

文件保存時自動格式化程式碼和自動整理import (刪除未使用的import和import排序) 菜單導航: 「Code – 首選項 – 設置 – 工作區 – 使用json打開」

{  	"editor.formatOnSave": true,  	"importSorter.generalConfiguration.sortOnBeforeSave": true,  	"importSorter.sortConfiguration.removeUnusedImports": true,  	"importSorter.sortConfiguration.removeUnusedDefaultImports": true,  	"importSorter.sortConfiguration.customOrderingRules.rules": [{  		"regex": "^(react|react-native)$",  		"orderLevel": 8  	}, {  		"type": "importMember",  		"regex": "^$",  		"orderLevel": 5,  		"disableSort": true  	}, {  		"regex": "^[^.@]",  		"orderLevel": 10  	}, {  		"regex": "^[@]",  		"orderLevel": 15  	}, {  		"regex": "^[.]",  		"orderLevel": 30  	}]  }

至此我們的開發環境就搭建完成了。

知識點腦圖

包管理器

PM

ES6

ES6

TypeScript

TypeScript

常見的文件擴展名

常見的文件擴展名

React

React

我的第一個項目

創建

# 創建一個基於umi的項目  yarn create umi    # 包依賴還原  yarn    # 啟動項目  yarn start

刪除不需要的腳手架文件

腳手架中包含了一些默認文件,大家如果不需要可以自行選擇刪除。

我的第一個Page – TodoList

這一節我們會完成一個簡單的任務列表,功能點有

  • 添加任務
  • 任務列表的展示
  • 刪除一個任務

完成Demo的內容後你將掌握以下內容:

  • TypeScript的基本使用
  • antd組件的使用
  • React Hooks
    • useState
    • useEffect
    • useMemo
  • 通過yarn安裝、刪除、和升級包
  • linqts
  • ……

《React Part 1》分享影片和資料

影片文件

https://v.youku.com/v_show/id_XNDU0MTQ4Njk3Ng==.html 密碼: jkzlReact

資料

https://pan.baidu.com/s/1bi6Qfrv3n0cVbU23bMnRpQ 提取碼: itdg

最後

今天我們從安裝環境開始到第一個Demo,其中盡量降低了大家的學習門檻,許多React的高階用法還沒有說明,在下一節中我們會繼續介紹Component、DvaJS、UmiJS、redux、樣式表、自定義Hook、服務端交互等內容以助力大家可以使用TS+React開發企業級應用,敬請期待。