西瓜 2022-05-03 16:57:44
@neal1991 不是啊。你可以状态提升,或者使用 context,或者用 订阅,redux 等都可以。比如组件层级是
A1 包含 B1 和 B2,B 分别是 C1 和 C2。如果想要 C1 和 C2 通信,你可以把 state 定义到 A 中,这属于变量提升,风险就是如果再有和 A1 同层级的 A2 ,下面一个组件想和 C1 通信,state 可能就要重新改动,提升到 A1 和 A2 的 container。另外 Context 也是可以的啊,只不过层级太深会有一定的风险,我们通常用它作注入(provider)的一种方式 ,而不是 state 变化做通知的。所以还是要结合场景的啊,直接上状态管理库可能不用想太多,很少出现一些项目复杂后的问题,但是有时候是不必要的。
- 共 1 页
- 1
上一个console,a++之后的,变成1了;下一个console,tmp存的是a++之前的,值为0
第 12 题:JS 异步解决方案的发展历程以及优缺点