-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[react] 什么时候使用状态管理器? #953
Comments
通过提升单个组件的复杂度,实现组件通讯 |
同问! |
摘抄阮老师的
|
|
|
当状态提升提升不能够满足开发需求,状态树并不总是以一种线性的,单向的方式流动。就需要使用状态管理器。 |
从组件的角度考虑:组件间的状态共享过多,与服务器交互的数据过多,并且组件层级过深,状态提升或者context已经不适用的情况下,就可以考虑使用状态管理器 |
当程序中出现大量不相干组件需要互相通信而现有的组件间通信技术(状态提升、context、storage等)不能很好的解决时,一个状态管理器作为中间者,可以降低组件间通信的复杂度。(购房者、买房者、中介)一样的场景。 |
所以面试的时候该怎么回答,我是刚入门的小菜鸡,怎么样回答会比较通俗易懂又容易记住答案呢 |
全局状态可以使用React.component、Hooks或者全局变量,这几方式都有一个缺陷,子组件可以任意的调用,去改变全局状态。需要有一种机制去限制,让数据的修改、获取通过统一的状态管理器接口去调用,如果出现问题,顺着状态管理器的数据流向去寻找出现问题的地方。 上面说的从组件的角度考虑,都已不再适用,阮一峰老师的文章是16年的。如果仅仅是需要组件间状态通信,可以适用Hooks,如果组件间间通信逻辑很复杂,可以使用hooks(可选)配合redux来管理。 |
在组件树超过 3 级的时候,需要在任意位置读取状态,或者在任意位置修改状态的时候,就需要状态管理器 |
在我看来,状态管理器的使用即:抽离出状态从UI外部进行统一统一管理. |
谢谢,邮件收到
|
啥呀 |
谢谢,邮件收到
|
When the complexity of an application is such that local component state is not feasible, |
谢谢,邮件收到
|
[react] 什么时候使用状态管理器?
The text was updated successfully, but these errors were encountered: