React 状态管理|青训营笔记

52 阅读3分钟

React 状态管理【讲师:余小亮】

01 什么是状态管理?

什么是状态管理?

从React诞生之后,前端组件化的方案深入人心,React遵循的是单向数据流的原则,属性通过Props自上而下的传递。当页面的比较简单,组件之间的层级关系比较浅时,这种自上而下的单向数据流的方式是不会有问题的。如果页面一复杂,组件的嵌套层级一深,这种单向数据流的传递方式,将会使你陷入到“嵌套地狱”。

状态管理本身,解决的就是这种“嵌套”地狱的问题,解决的是跨层级组件之间的数据通信和状态共享。

状态管理工具的本质:管理共享内存中的状态。

1.共享内存

2.管理状态

3.页面通信

4.组件通信

5.刷新失效

详细定义:单页应用的各个组件本身是共享内存的,如果将状态保存在内存中,就可以读写统一内存中的变量,从而达到状态共享的目的。

React的状态管理工具有多种选择,以下是其中几种常见的工具:

  1. Redux:最常用的React状态管理工具之一,有着强大的生态圈和社区支持,适用于大型应用程序。

  2. MobX:另一个流行的状态管理工具,提供了更轻量级的解决方案,简化了数据状态管理和更新。

  3. Context API:React自带的一种状态管理解决方案,允许您创建全局状态并在组件树中共享它们。

  4. Recoil:Facebook开发的状态管理库,可以更灵活地管理React应用程序中的数据流和状态。

02 React状态管理简介

React是一个声明式UI框架,它的核心概念是组件化开发,即将UI切割成一个个独立可复用的组件进行开发。在一个React应用中,组件之间经常需要进行状态的传递和共享,这就需要使用状态管理工具来进行统一管理。

React状态管理工具的作用是将组件之间的状态逻辑抽象出来,单独管理数据状态,并提供一系列API来操作和共享这些数据状态。React社区中最流行的状态管理工具是Redux,它通过单向数据流的方式来管理应用程序中的数据流程,并提供了一系列API来进行状态的更新和访问。

其它的React状态管理工具还有MobX、Context API、Recoil等。MobX通过观察者模式来自动跟踪状态的变化,Context API允许您创建全局状态并在组件树中共享它们,而Recoil则提供了更灵活地管理React应用程序中的数据流和状态的方式。

通过使用React状态管理工具,可以帮助开发者更好地管理React组件之间的状态,提高代码的可维护性和可测试性,从而更好地开发出高质量的React应用程序。


React状态管理工具可以分为以下几类:

React自带:Local State(props) 和Context

单向数据流:Flux、Redux(Redux-toolkit)

双向数据绑定:Mobx

原子型状态管理:Recoil、Jotai

异步操作密集型:Rxjs

每一种状态管理工具都有其不同的适用性,不同场景下需要合理的选择状态管理工具。

image.png