手写一个React状态管理工具迷你版目前React中有很多各种各样的状态管理工具,比如:ReactReduxMobxHox每个状态管理工具都有层出不穷的相同API和使用方法都有一定的学习成本,这些状态管理工具也有一定的复杂性,并不是特别简单。在开发者眼里,只有更好用,才会有更多人使用。Vue流行不就是因为简单易上手吗?有时候我们只需要一个全局状态,放置一些状态和改变状态的函数就可以了,也达到了简化的原则。让我们一起实现最简单的状态管理工具。这个状态管理工具的核心是使用ContextAPI。在理解本文之前,你必须先了解并熟悉这个API的用法。首先,让我们看看这个状态管理工具是如何使用的。假设有一个计数器状态,那么我们通过加法和减法两种方法修改计数器。也就是说,我们需要使用一个计数器状态,以及两个方法来修改这个状态。在React函数组件中,我们使用useState方法来初始化一个状态,因此我们可以很容易地写出如下代码:import{useState}from'react'constuseCounter=(initialCount=0)=>{const[count,setCount]=使用状态(初始计数);constincrement=()=>setCount(count+1);const减量=()=>setCount(count-1);return{count,increment,decrement}}导出默认useCounter;现在,让我们创建一个组件来使用这个useCounter钩子函数,如下所示:);返回(
