国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

context來(lái)了,也許該放手redux or mobx...

legendmohe / 626人閱讀

摘要:官方推薦使用的情況是當(dāng)需要用到全局?jǐn)?shù)據(jù)的時(shí)候,比如主題,多語(yǔ)言制或者用戶登錄授權(quán)等等。

老鐵,學(xué)不動(dòng)了?不要慌,耽誤不了你幾分鐘...(說(shuō)謊臉,汗)
long long ago

使用react的同胞們,也許都苦惱過(guò)其狀態(tài)管理以及組件之間的數(shù)據(jù)傳遞和共享(笨重的方式通過(guò)props依次往子組件傳遞)。

這時(shí)候,redux(mobx類似)出現(xiàn)了,我們累死累活的從水深火熱中解放了(第三方的庫(kù)相對(duì)較復(fù)雜和麻煩)。。。

那還沒(méi)有接觸過(guò)redux或者還在使用redux路上的同學(xué)怎么辦?不要著急,更簡(jiǎn)單的東西來(lái)了(前方高能,請(qǐng)各老鐵注意!): Context API!!!(React v16.3.0+) 戳我查看更新日志

先來(lái)安利一個(gè)todolist的栗子:

戳我查看源碼和demo
Context是什么?

Context直譯就是上下文,是 React 16.3.0開(kāi)始提供的一個(gè)官方API,它無(wú)需通過(guò)props的方式就可以完成項(xiàng)目中由上而下及組件之間的數(shù)據(jù)傳遞和共享,即你也不用依賴任何第三方的狀態(tài)數(shù)據(jù)插件庫(kù)就可以完成這項(xiàng)工作任務(wù)。

官方推薦使用的情況是:當(dāng)需要用到全局?jǐn)?shù)據(jù)的時(shí)候,比如:主題,多語(yǔ)言制或者用戶登錄授權(quán)等等。 ==當(dāng)然:== 你無(wú)需這么死板,當(dāng)需要用到多層級(jí)的組件數(shù)據(jù)傳遞或者復(fù)雜的數(shù)據(jù)共享場(chǎng)景也可以使用context api,也可以用來(lái)做緩存使用。

Context簡(jiǎn)單使用
// 1.使用React.createContext創(chuàng)建context提供者Provider 和 context訂閱者cunsomer

const {Provider, Consumer} = React.createContext(defaultValue); // defaultValue根據(jù)使用場(chǎng)景設(shè)置

// 2.設(shè)置Provider組件
// 一般包裹需要訂閱的子組件的頂層父組件
// value設(shè)置需要傳遞和共享的數(shù)據(jù)以及改變數(shù)據(jù)的函數(shù)等
// 為了避免沒(méi)必要的重繪和渲染,value的數(shù)據(jù)屬性值通過(guò)組件state設(shè)置


    {/* some component with comsumer */}


// 3.設(shè)置Consumer組件
// 通過(guò)函數(shù)作為子元素的方式,訂閱context的變換


  {value => /* render something based on the context value */}


// 組合Provider 和 Consumer即可大功告成


    {somechildren}


// 其他更多用法,比如生命周期函數(shù)調(diào)用(可點(diǎn)擊上面demo查看),高階組件等瀏覽一下文檔即會(huì),非常簡(jiǎn)單
簡(jiǎn)單總結(jié)

創(chuàng)建賣家和買家,通過(guò)大家都非常熟悉的React組件方式來(lái)進(jìn)行買賣交易,如此簡(jiǎn)單的Context用法,大家還在等什么,趕緊丟掉其他的第三方庫(kù)!!

結(jié)語(yǔ): 小小皮一下,大家不要打我,新功能可以嘗試,也需要大家的討論和研究,類似redux的第三方庫(kù)還是非常強(qiáng)大~~(前端攻城獅③群:743490497,歡迎大家進(jìn)群討論)

更多資料請(qǐng)查看以下鏈接:

https://reactjs.org/docs/context.html

https://css-tricks.com/digging-into-react-context/

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/95575.html

相關(guān)文章

  • context來(lái)了也許放手redux or mobx...

    摘要:官方推薦使用的情況是當(dāng)需要用到全局?jǐn)?shù)據(jù)的時(shí)候,比如主題,多語(yǔ)言制或者用戶登錄授權(quán)等等。 老鐵,學(xué)不動(dòng)了?不要慌,耽誤不了你幾分鐘...(說(shuō)謊臉,汗) long long ago 使用react的同胞們,也許都苦惱過(guò)其狀態(tài)管理以及組件之間的數(shù)據(jù)傳遞和共享(笨重的方式通過(guò)props依次往子組件傳遞)。 這時(shí)候,redux(mobx類似)出現(xiàn)了,我們累死累活的從水深火熱中解放了(第三方的庫(kù)相...

    bingo 評(píng)論0 收藏0
  • 一年內(nèi)經(jīng)驗(yàn)前端面試題記錄

    摘要:對(duì)于,其默認(rèn)大小一般是本地存儲(chǔ)和都保存在瀏覽器端,且都是同源的。把變量放在閉包中和放在全局作用域,對(duì)內(nèi)存的影響是一致的,這里并不能說(shuō)成是內(nèi)存泄露。將新的樹(shù)和之前的虛擬樹(shù)進(jìn)行相比較,根據(jù)結(jié)果對(duì)進(jìn)行精準(zhǔn)響應(yīng)。 1. JavaScript 1. JavaScript文件在什么情況下會(huì)放在html哪個(gè)位置 https://zhuanlan.zhihu.com/p/... 對(duì)于必須要在DOM加載...

    qianfeng 評(píng)論0 收藏0
  • 一年內(nèi)經(jīng)驗(yàn)前端面試題記錄

    摘要:對(duì)于,其默認(rèn)大小一般是本地存儲(chǔ)和都保存在瀏覽器端,且都是同源的。把變量放在閉包中和放在全局作用域,對(duì)內(nèi)存的影響是一致的,這里并不能說(shuō)成是內(nèi)存泄露。將新的樹(shù)和之前的虛擬樹(shù)進(jìn)行相比較,根據(jù)結(jié)果對(duì)進(jìn)行精準(zhǔn)響應(yīng)。 1. JavaScript 1. JavaScript文件在什么情況下會(huì)放在html哪個(gè)位置 https://zhuanlan.zhihu.com/p/... 對(duì)于必須要在DOM加載...

    kelvinlee 評(píng)論0 收藏0
  • 【譯】Redux 還是 Mobx,讓我來(lái)解決你的困惑!

    摘要:我現(xiàn)在寫的這些是為了解決和這兩個(gè)狀態(tài)管理庫(kù)之間的困惑。這甚至是危險(xiǎn)的,因?yàn)檫@部分人將無(wú)法體驗(yàn)和這些庫(kù)所要解決的問(wèn)題。這肯定是要第一時(shí)間解決的問(wèn)題。函數(shù)式編程是不斷上升的范式,但對(duì)于大部分開(kāi)發(fā)者來(lái)說(shuō)是新奇的。規(guī)模持續(xù)增長(zhǎng)的應(yīng) 原文地址:Redux or MobX: An attempt to dissolve the Confusion 原文作者:rwieruch 我在去年大量的使用...

    txgcwm 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

legendmohe

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<