为了账号安全,请及时绑定邮箱和手机立即绑定

请问该如何管理react 的 state?

/ 猿问

请问该如何管理react 的 state?

噜噜哒 2019-08-17 11:11:18

如何管理react 的 state


查看完整描述

4 回答

?
HUWWW

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;
}
});




查看完整回答
反对 回复 2019-08-18
?
慕雪6173905

关于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系列项目,看业务场景有所取舍即可





查看完整回答
反对 回复 2019-08-18
?
偶然的你

React.js状态值为数组,那么使用setState设置状态的方法是调用onchang方法来操作数组。
写法如下:
onChange(event){
var newArray = this.state.arr.slice();
newArray.push("new value");
this.setState({arr:newArray})
}

上面的方法中使用onChange来完成状态的动态改变。
其中newArray 是把状态值数组进行拆分,然后调用push方法放入新值,再调用setState方法对数组进行更新。


查看完整回答
反对 回复 2019-08-18
?
慕雪9262066


最好是:

setState({ 'arrary': [...this.state.array, newItem]}).

setState({ 'array' : this.state.array.concat([neItem])}).

1.React 是一个用于构建用户界面的 JAVASCRIPT 库。

2.React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。

3.React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。

4.React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它




查看完整回答
反对 回复 2019-08-18

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信