const [state, setState] = useState()
<Context.Provider value={state}>
</Context.Provider>
const state = useContext(Context)
这个使用 Provider 的页面会在每次 state 改变的时候重新渲染,即使这个页面没有其它 地方用到了这个 state。很明显,我的本意是只让 useContext 的页面随着 state 的改变 重新渲染。
更新:将第一块的三行代码提取成一个 MyProvider 组件,调用 MyProvider 的组件不会 rerender。