发布网友 发布时间:2022-04-20 09:21
共3个回答
懂视网 时间:2022-05-10 05:42
react遵循的原则是:
(学习视频分享:css视频教程)
1、单一事实来源
整个应用的状态存储在单个 store 中的对象/状态树里。单一状态树可以更容易地跟踪随时间的变化,并调试或检查应用程序。
2、状态是只读的
改变状态的唯一方法是去触发一个动作。动作是描述变化的普通 JS 对象。就像 state 是数据的最小表示一样,该操作是对数据更改的最小表示。
3、使用纯函数进行更改
为了指定状态树如何通过操作进行转换,你需要纯函数。纯函数是那些返回值仅取决于其参数值的函数。
热心网友 时间:2022-05-10 02:50
关于react和rex技术流的搭建,欢迎看我写的mini-react-rex项目。
用仅仅50行代码,搭建react、rex的完整项目,具备所有功能。项目地址:GitHub - slashhuang/mini-react-rex: 极小型的react+rex的项目搭建,共50行代码
---------------------------------------------------------------------------------分割线----------------
确实之前没有看清题主的问题,特来重答一下。
没错,对于小页面,比如移动端页面完全可以去除rex,而仅仅采用react的state来进行管理。 对于大型交互式的界面,比如美团内部的即时通讯工具大象,这种大数据量和逻辑复杂的页面可以采用rex进行管理,以便更好的维护和扩展功能。
关于react如何由rex代理state这一点,其实是调用的rex的subscribe接口,rex由此提供了整个react的state入口。
针对题主的问题,要很好的利用rex,其实恰恰需要将react的state和props利用起来。 在代码编写中,一个简单的原则就是组件内部可以完成的事情由state负责,组件依赖的外部数据由rex代理的state传给props。 这一点体现的就是container是调度组合组件的入口,而components是仅仅接受数据的笨拙组件。
最后,rex并不一定需要添加进react系列项目,看业务场景有所取舍即可
热心网友 时间:2022-05-10 04:08
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;
}
});