如何管理 React 中的状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何管理 React 中的状态相关的知识,希望对你有一定的参考价值。

关于react和redux技术流的搭建,欢迎看我写的mini-react-redux项目。
用仅仅50行代码,搭建react、redux的完整项目,具备所有功能。项目地址:GitHub - slashhuang/mini-react-redux: 极小型的react+redux的项目搭建,共50行代码
---------------------------------------------------------------------------------分割线----------------
确实之前没有看清题主的问题,特来重答一下。
没错,对于小页面,比如移动端页面完全可以去除redux,而仅仅采用react的state来进行管理。 对于大型交互式的界面,比如美团内部的即时通讯工具大象,这种大数据量和逻辑复杂的页面可以采用redux进行管理,以便更好的维护和扩展功能。
关于react如何由redux代理state这一点,其实是调用的redux的subscribe接口,redux由此提供了整个react的state入口。
针对题主的问题,要很好的利用redux,其实恰恰需要将react的state和props利用起来。 在代码编写中,一个简单的原则就是组件内部可以完成的事情由state负责,组件依赖的外部数据由redux代理的state传给props。 这一点体现的就是container是调度组合组件的入口,而components是仅仅接受数据的笨拙组件。
最后,redux并不一定需要添加进react系列项目,看业务场景有所取舍即可
参考技术A 1. 通过MobX来解决
   MobX 是一个简单、高效的前端状态管理脚本库。 根据文档,Just do something to the state and MobX will make sure your app respects the changes。
var person = mobx.observable(
firstName: 'Matt',
lastName: 'Ruby',
age: 37,
fullName: function ()
this.firstName + ' ' + this.lastName;

);本回答被提问者采纳

以上是关于如何管理 React 中的状态的主要内容,如果未能解决你的问题,请参考以下文章

React 中的状态管理

React中的状态管理

React大型项目状态管理库如何选型?

react监听仓库数据变化

如何使用 React Hooks 实现复杂组件的状态管理

React Js - Flux 中的状态管理