ReactJS中如何在多层嵌套组件中,获取其它组件的状态(State)

陟上晴明
  • 1.3k

之前是一直使用的 Vue,但是3.0一直没有出,又等不及想把 TypeScript 学了,所以就开始先把 React 学了,然后开始尝试搭配上 TS 写 demo 练习。

刚刚独立把井字棋并没有看官方的 demo,全部写完之后才对比这 demo 进行了 review。

但是在这期间就想到如果嵌套多层的组件中,怎么去获取其它组件的状态,VueVuex,React呢, Redux?因为之前听说 React 只提供了一些核心功能,
其它的组件都是由社区维护的,所以怕找到一些和阿里开源差不多的项目....

另外一个 react hooks 只是用写 function 的方式代替 class 以及使用react的api,是否还有其它功能?

Vue 的话可以很快在文档内找到必须要用的一些插件,React 并没有很快的找到对应的组件部分。

有大佬概括一下的大概吗?具体的我可以自己 google 读文档。

回复
阅读 1.8k
3 个回答
✓ 已被采纳

关于状态管理,可以使用redux,但不是必须的如果使用redux最好配合react-redux使用。

  • redux提供store管理状态,使用dispatch action来发出状态改变的信号,使用reducer来更新store。
  • react-redux用来连接react组件和store,为组件和状态的关联提供了一种更便捷的方式

redux && react-redux的状态管理与vuex的理念差不多,都是通过派发action改变状态更新组件。

另外react自身还提供了context 来实现跨组件的状态访问,hooks出来之后,有了useReducer应该就能慢慢摆脱redux了。

hooks不只用函数组件代替类组件,也不只是解决了函数组件不能有state的痛点,我认为更重要的是依赖更新(副作用的操作依赖于某些数据,例如useEffect)与逻辑复用(自定义hooks)。

react 生态也很多,主要是三个方面: 状态管理、路由、组件库。

clare233
  • 1
新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏