React環(huán)境搭建

created at 2021-08-05 by gp6

  • 環(huán)境搭建
cnpm i create-react-app -g
create-react-app react-admin --template typescript
cd react-admin
npm start
  • 文件命名:

    • .js / .jsx / .ts / .tsx
    • 如果代碼用到了JSX變量探橱,文件名用.jsx或.tsx。
    • 如果代碼沒有用到JSX,文件名用.js或.ts棉圈。
  • TypeScript

    • 它是JS的超集镊辕,在TS環(huán)境可以兼容JS代碼(也就是你說可以ES5、ES6代碼)
    • 在腳手架環(huán)境中(node+webpack),還做不到實時地對TS類型進行檢測逼肯。但每次運行項目時,卻可以做到對代碼的檢測桃煎。
    • 所以在工作中篮幢,TS項目幾乎都用的是VScode來做開發(fā)(因為VScode這個編輯器內(nèi)置了TS檢測工具)。
    • VScode只能.ts/.tsx文件進行類型檢測为迈。不能在.js/.jsx中寫TS代碼洲拇。
    • 如何理解TS報紅的錯誤?它只是提示你類型錯誤了曲尸,但不影響代碼的正確編譯和運行。
create-react-app react-admin --template redux-typescript

create-react-app

# ES6環(huán)境(只能使用ES6語法男翰、默認不支持TS另患,使用redux、react-redux)
# 定義redux時蛾绎,參考store_backup代碼
# 使用redux數(shù)據(jù)時昆箕,可以用connect、useSelector租冠、useDispatch
create-react-app my-app1

# TS環(huán)境(TS和ES6都可以使用鹏倘、在這個環(huán)境使用redux、react-redux傳統(tǒng)流程)
create-react-app my-app2 --template typescript

# TS環(huán)境(只使用TS顽爹,在這個環(huán)境中使用 @reduxjs/toolkit纤泵、react-redux)
create-react-app my-app3 --template redux-typescript</pre>

簡單描述Redux傳統(tǒng)流程:

  • 安裝redux,使用createStore(rootReducer镜粤、initState捏题、middleWares)創(chuàng)建根store
  • 使用combineReducers({}) 合并多個子reducer
  • 使用compose(applyMiddleWare(thunk), applyMiddleWare(logger))使用中間件,尤其是解決redux不支持異步action的問題肉渴。
  • 如何創(chuàng)建子reducer呢公荧?function reducer(initState,aciton) {本質(zhì)上是一堆switch語句},在編寫子reducer時同规,核心邏輯是深復制(immer)循狰,根據(jù)不同的case分支來修改子store(action={type,payload}是信號,像一封郵件)
  • 在App.jsx中券勺,安裝react-redux這個庫绪钥,使用 ,React組件樹中有了store上下文朱灿。
  • 在React組件中昧识,如果是16.8以前,只能使用 connect(mapState, mapDispatch)(Component)盗扒,然后在props上就能訪問這些store數(shù)據(jù)跪楞、以及那些修改store的action邏輯缀去。
  • 在React組件中,如果是16.8以后甸祭,除了connect可以用缕碎,建議使用更好的 useDispatch、useSelector池户。
  • 在傳統(tǒng)的redux架構(gòu)中咏雌,為了讓action更好地維護和復用,我們一般建議封裝action生成器方法校焦。
  • 在傳統(tǒng)的redux架構(gòu)中赊抖,為了避免協(xié)同開發(fā)時大家濫用type或者type沖突,我們一般建議封裝一個type字典寨典。

簡單@reduxjs/toolkit的流程:

  • 安裝@reduxjs/toolkit這個庫氛雪,使用configureStore({reducer,middleware})創(chuàng)建store。
  • 使用createSlice({name,initialState,reducers,extraReducers})創(chuàng)建子reducer耸成,最后拋出子reducer給根store合并报亩。
  • 使用createAsyncThunk('user/login', async (入?yún)?=>(await fetchLogin())),給到createSlice.extraReducers中addCase添加異步成功狀態(tài)井氢,在成功狀態(tài)中直接修改子store弦追。這些由createAsyncThunk創(chuàng)建action方法,也要拋出花竞,給React組件進行觸發(fā)使用 dispatch(login(入?yún)?)劲件。
  • 在App中,安裝react-redux左胞,使用注入上下文寇仓。
  • 在React組件中,只能使用 @reduxjs/toolkit官方推薦的 useAppSelector來使用store數(shù)據(jù)烤宙、只能使用useAppDispatch來觸那些子store中拋出的action遍烦。

可視化開發(fā)

  • 二維圖表

  • 基于地圖的開發(fā):百度地圖、高德地圖躺枕、騰訊地圖服猪、谷歌地圖

  • 三維視覺

  • bizcharts 這是React版本的antv圖表(組件化寫法,要求會用)

  • ant-design-charts 自己做一些補充

  • echarts 是百度出品的可視化基礎(chǔ)庫(DOM寫法拐云,要求會用)

  • antv 是阿里出品的可視化基礎(chǔ)庫(使用難度較大罢猪,不建議使用)

  • highcharts 是國外開源的一個可視化基礎(chǔ)庫(僅做了解)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市叉瘩,隨后出現(xiàn)的幾起案子膳帕,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件危彩,死亡現(xiàn)場離奇詭異攒磨,居然都是意外死亡,警方通過查閱死者的電腦和手機汤徽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門娩缰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谒府,你說我怎么就攤上這事拼坎。” “怎么了完疫?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵泰鸡,是天一觀的道長。 經(jīng)常有香客問我壳鹤,道長鸟顺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任器虾,我火速辦了婚禮,結(jié)果婚禮上蹦锋,老公的妹妹穿的比我還像新娘兆沙。我一直安慰自己,他們只是感情好莉掂,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布葛圃。 她就那樣靜靜地躺著,像睡著了一般憎妙。 火紅的嫁衣襯著肌膚如雪库正。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天厘唾,我揣著相機與錄音褥符,去河邊找鬼。 笑死抚垃,一個胖子當著我的面吹牛喷楣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鹤树,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼铣焊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了罕伯?” 一聲冷哼從身側(cè)響起曲伊,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎追他,沒想到半個月后坟募,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岛蚤,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年婿屹,在試婚紗的時候發(fā)現(xiàn)自己被綠了灭美。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昂利,死狀恐怖届腐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜂奸,我是刑警寧澤犁苏,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站扩所,受9級特大地震影響围详,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祖屏,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一助赞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袁勺,春花似錦雹食、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钝荡,卻和暖如春街立,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背埠通。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工赎离, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人端辱。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓蟹瘾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掠手。 傳聞我的和親對象是個殘疾皇子憾朴,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容