今天来説说useContext,这个东西可以做成破产版的redux ,主要功能是建立一个global的树避免产生一个'Props Hell'
先用一段简单的code
// 我是写了一个空物件,但其实这是预设值,写什麽都可以,当<Provider value={} />
// 没有assign value时会预设使用这个
const SomethingContext = createContext({});
然後接下来,如何丢值到整棵树,就要利用context的provider
<SomethingContext.Provider value={...value} />
有写过redux的人,应该感觉很熟悉齁,对他就是概念很像,透过value的props传递到各个子层,还有一个很重要的点/
如果value的值更改了, 所有的children都会重新re-render
接下来如何取得provider传下来的值
<SomethingContext.Consumer>
{(value) => {}}
</SomethingContext.Consumer>
const [value, dispatch] = useContext(SomethingContext);
好用的displayName在debug好用
还有很多好用的 下回待续,待想好一个主题
<<: [Day-22] R语言 - 分群应用(三) 相异点侦测 ( detect dissimilar point by clustering in R.Studio )
>>: Day7-TypeScript(TS)基础型别资料Part 2
#使用绝对定位 / 相对定位 设计版型 绝对定位: 相对定位: 如果div div 不想要并排,想要...
Day14-15 一共会介绍 Ruby的2类、4种继承方式。 在Day2 我们提到 Ruby 为单一...
为什麽会议,大家听不到我声音,却能听到我的音乐啊~~~~ 设来设去...到底怎麽回事啊... 答案是...
在安装完TiDB之後,想先从现有的MySQL资料库倒一张表的资料来试试。 TiDB提供两种的资料导出...
透过前一篇文章的介绍,读者应该了解现今的云端服务相当方便,许多持续交付的功能已经写成 Action,...