關(guān)于react項(xiàng)目中使用TS的一些心得體會(huì)(持續(xù)更新中...)

最近公司項(xiàng)目用到了react+ts來寫項(xiàng)目,我感覺項(xiàng)目用上ts以后確實(shí)方便了很多枷邪,可能有的會(huì)認(rèn)為要定義interface很麻煩仑鸥,但是前期的麻煩,為了后期的方便維護(hù)鹰服,倒也沒事,話不多說直接開始


1.關(guān)于使用useMemo和useCallBack的時(shí)候

基本上useMemo和useCallBack大家應(yīng)該都使用過病瞳,其實(shí)這兩個(gè)方法可能很大程度上便于我們操作數(shù)據(jù)以及數(shù)據(jù)的變動(dòng),但是初用者記得一定要講useMemo和useCallback中的依賴拋出悲酷,這樣能最大程度的避免數(shù)據(jù)渲染問題時(shí)套菜,焦頭爛額的排錯(cuò)

2.關(guān)于設(shè)置數(shù)據(jù)初始值時(shí)候,頁面報(bào)錯(cuò)的問題

這個(gè)問題其實(shí)在于我們代碼風(fēng)格有關(guān)设易,我直接舉個(gè)例子吧

const [list,setList] = useState<IUseList>({})

但是我們可能聲明類型IUseList時(shí)候里面的一些參數(shù)可能并沒有加上? 這時(shí)候可能導(dǎo)致我們還需要初始定義逗柴,所以這時(shí)候我們可以使用一個(gè)參數(shù)

const [list,setList] = useState<Partial<IUseList> >({})

但是這種情況我們還是視情況而定

還有一種情況就是我們頁面渲染的時(shí)候初始值的問題

<span>{list}<span>?

這時(shí)候可能如果后臺(tái)數(shù)據(jù)沒有次參數(shù)的話,可能頁面就會(huì)直接報(bào)錯(cuò)顿肺,所以我們可以在賦值的時(shí)候給定一個(gè)空值

<span>{list || {}}<span>?

3.關(guān)于使用react中使用redux-toolkit的一些問題

鏈接:redux-toolki

其實(shí)我感覺toolkit使用起來方便倒是挺方便的戏溺,但是可能文件下都要寫一個(gè)action和slice文件來管理組件的redux數(shù)據(jù)屋摔,對于中大型項(xiàng)目來說還是蠻適用的谱仪,

接下來說一下使用中需要注意的問題,我們一般用到的話都會(huì)在項(xiàng)目中首先createSlice來創(chuàng)建我們的redux-toolkit汹族,這里需要區(qū)別的就是reducersextraReducers

reducers:我們使用中比較常見的是后臺(tái)管理系統(tǒng)的頂部搜索讼昆,點(diǎn)擊搜索的方法我們可以放入reducers里面

extraReducers:這里面的操作其實(shí)和promise一樣分為pending 托享,fulfiled和rejected,基本上我們在這三個(gè)動(dòng)作里面可以進(jìn)行數(shù)據(jù)的操作以及轉(zhuǎn)換

其實(shí)官方文檔說明的蠻清楚了浸赫,雖然是英文的闰围,但是看里面的方法就好,比較通俗易懂的

4.關(guān)于在react中使用antd+ts的一些問題

其實(shí)react和antd還是滿搭配的既峡,無論是里面的方法還是組件的運(yùn)動(dòng)我覺得都是極其不錯(cuò)的羡榴,下面說一下在表單中比較容易碰到的問題

1.form表單的運(yùn)用在后臺(tái)管理系統(tǒng)其實(shí)是很常見的,里面比如說有一些復(fù)選框啊下拉框什么的运敢,我們其實(shí)單獨(dú)在form表單中的onValuesChange事件中去使用檢測到數(shù)據(jù)的變動(dòng)炕矮,這樣就不用去每個(gè)里面寫一個(gè)onchange事件了么夫,onValuesChange里面會(huì)返回兩個(gè)參數(shù)一個(gè)是values,一個(gè)是allValues肤视,具體我們需要用到哪個(gè)數(shù)據(jù)档痪,看我們的場景來定義吧,然后就是搭配到onFinish事件去提交和修改表單的數(shù)據(jù)

2.如果項(xiàng)目中使用eslint檢測的話邢滑,我們在運(yùn)用一些組件的onchange事件的時(shí)候我們通常不知道怎么去定義這個(gè)value值腐螟,這時(shí)候我們可以去官方的git連接里面找到使用文件的demo,就可以看到官方定義的ts類型困后,省的我們不知道什么類型就隨便用個(gè)any乐纸,導(dǎo)致項(xiàng)目中增加warnings

這里進(jìn)入到github里面去

這里就是我們需要的ts類型
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市摇予,隨后出現(xiàn)的幾起案子汽绢,更是在濱河造成了極大的恐慌,老刑警劉巖侧戴,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宁昭,死亡現(xiàn)場離奇詭異,居然都是意外死亡酗宋,警方通過查閱死者的電腦和手機(jī)积仗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜕猫,“玉大人寂曹,你說我怎么就攤上這事』赜遥” “怎么了隆圆?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長翔烁。 經(jīng)常有香客問我渺氧,道長,這世上最難降的妖魔是什么租漂? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮颊糜,結(jié)果婚禮上哩治,老公的妹妹穿的比我還像新娘。我一直安慰自己衬鱼,他們只是感情好业筏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸟赫,像睡著了一般蒜胖。 火紅的嫁衣襯著肌膚如雪消别。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天台谢,我揣著相機(jī)與錄音寻狂,去河邊找鬼。 笑死朋沮,一個(gè)胖子當(dāng)著我的面吹牛蛇券,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播樊拓,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼纠亚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了筋夏?” 一聲冷哼從身側(cè)響起蒂胞,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎条篷,沒想到半個(gè)月后骗随,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拥娄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年蚊锹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稚瘾。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牡昆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摊欠,到底是詐尸還是另有隱情丢烘,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布些椒,位于F島的核電站播瞳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏免糕。R本人自食惡果不足惜赢乓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望石窑。 院中可真熱鬧牌芋,春花似錦、人聲如沸松逊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽经宏。三九已至犀暑,卻和暖如春驯击,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耐亏。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工徊都, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苹熏。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓碟贾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親轨域。 傳聞我的和親對象是個(gè)殘疾皇子袱耽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

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

  • React Hooks 在了解React Hooks之前, 我們先看一下 Class 和函數(shù)式 的一般寫法 Cla...
    YM雨蒙閱讀 2,866評論 0 1
  • 關(guān)于React Hook React Hook 對于React來說無疑是一個(gè)偉大的特性,它將React從類組件推向...
    Mstian閱讀 2,368評論 0 11
  • useState 1.基本使用 等價(jià)于 2. 復(fù)雜的state 3.使用狀態(tài) 4. 注意事項(xiàng) 1). 如果stat...
    sweetBoy_9126閱讀 3,009評論 0 6
  • React Hooks Hook是React v16.8的新特性干发,可以用函數(shù)的形式代替原來的繼承類的形式朱巨,可以在不...
    左冬的博客閱讀 763評論 0 1
  • 完整代碼請看這里 上一篇文章主要介紹了 redux 文檔里所用到的基本優(yōu)化方案,但是很多都是手工實(shí)現(xiàn)的枉长,不夠自動(dòng)化...
    寫代碼的海怪閱讀 2,133評論 0 2