不用Recoil的话,如何自己制作一个 Custom hook 来共享全域变数?

需求

在早前几篇文章,我们介绍了 Recoil 这个 library 来在整个 App 分享全域变数给所有元件使用。

// React hook
const [count, setCount] = useState(initialCountState)
// Recoil
const [count, setCount] = useRecoilState(countState)
// custom hook
const [count, setCount] = useMyCustomHook()

解决方案

这是一个混合应用,思考看看我们需要哪些技术可以使用

首先,回想到之前的 React hook ,如何获取全域变数,我们有提到 useContext ,可参考之前 实现跨元件资料共享, useContext

  1. useContext [因为要跨元件共享]
  2. useState [要能 read / write 一组状态 (count, setCount)]
  3. custom hook...?

何谓 custom hook

可以参考
1.【React.js入门 - 24】 Custom hook - 给我另一个超推React hook的理由
2..【Day.25】React进阶 - Custom hook | 把React API模组化吧!
3.[Day 25 - 即时天气] 自己的钩子自己做 - 建立 Custom Hook

接着让我们一起来解决这个需求吧!!!


<<:  Day 27 网路设置与远端

>>:  Day 28:元件的单元测试

[Day 7] Vue的生命周期

接下来的东西越来越复杂了,不知道要怎麽打才会让人比较好理解,希望大家可以给我点建议ಥ-ಥ,有错还请严...

[Day 12] Forensics 小挑战

今天心情蛮好的,期待叻2周终於等到这天了,生平第一次染发:) 这篇文有一半是我边染发变打出来的~ 染...

Day 24 - Shiaoji.Login踩坑经验及修正

今天原本想开始抓个股的kbar资料及後续处理,结果在清洗Contract资料时,发现抓出来的TSE+...

初探 超文本传输协定 HTTP

图片来源:MDN HTTP是网路世界资讯交换的基础,这项发明一开始是为了提供发布和接收HTML页面...

[DAY 17]Discord server串接webhook

最近有打算写一个功能 FF14官网有新消息发布,bot就会把消息发送到discord主频上 但後来发...