百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> redux和react有啥不同
分享文章到:

redux和react有啥不同

发布时间:12/01 来源:未知 浏览: 关键词:

redux和react的不同有:1、redux是一个JavaScript状态容器,而react是Facebook推出的一个用来构建会员界面的JavaScript库;2、redux主要供给状态治理,而react主要用于构建UI等等。

引荐:《javascript根基教程

不同

redux

redux是一个JavaScript状态容器,主要供给状态治理。可以运转于效劳端,客户端,原生利用。除了支撑React外还支撑其他的UI框架,体积小,只要2kb。当要与React一起使用的时候,可以使用react-redux插件来进一步晋升我们的开发体验。

可以通过调取响应的API或者是以响应的机制改动这个容器中的数据就可以了,其他组件可以通过主动从新沉着器中猎取新数据来从新停止渲染。

此外这个容器还需支撑公布订阅机制,即当某个数据改动了,关怀这个数据的组件就产即会得到通知。

react

react是 Facebook 推出的一个用来构建会员界面的 JavaScript 库。 React主要用于构建UI,许多人认为 React 是 MVC 中的 V(视图)。React 具有较高的机能,代码逻辑非常简便,越来越多的人已开端关注和使用它。

React 是一个为数据供给渲染为 HTML 视图的开源 JavaScript 库。React 视图平常采纳包括以自定义 HTML 标志规定的其他组件的组件渲染。React 为程序员供给了一种子组件不克不及直接影响外层组件的模型,数据改动时对 HTML 文档的有效更新,和现代单页利用中组件之间洁净的别离。

学会用本人的思想来懂得React和Redux;不克不及光听别人描写名词,懂得起来是很艰难的。

从需求动身,看看使用React需要什么:

1、React有props和state: props意味着父级分发下来的属性,state意味着组件内部可以自行治理的状态,并且整个React没有数据向上回溯的能力,也就是说数据只能单向向下分发,或者自行内部消化。

懂得这个是懂得React和Redux的前提。

2、一样构建的React组件内部大概是一个完全的利用,它本人工作良好,你可以通过属性作为API操纵它。但是更多的时候发明React基本没法让两个组件互订交流,使用对方的数据。

然后这时候不通过DOM沟通(也就是React体制内)解决的独一方法就是晋升state,将state放到共有的父组件中来治理,再作为props分发回子组件。

3、子组件改动父组件state的方法只能是通过onClick触发父组件声明好的回调,也就是父组件提早声明好函数或办法作为契约描写本人的state将怎样转变,再将它一样作为属性交给子组件使用。

这样就显现了一个模式:数据总是单向从顶层向下分发的,但是只要子组件回调在概念上可以回到state顶层影响数据。这样state必然程度上是响应式的。

4、为了面临所有大概的扩展问题,最容易想到的方法就是把所有state集中放到所有组件顶层,然后分发给所有组件。

5. 为了有更好的state治理,就需要一个库来作为更专业的顶层state分发给所有React利用,这就是Redux。让我们回来看看重现`上面构造的需求:

需要回调通知state (等同于回调参数) -> action

需要按照回调处置 (等同于父级办法) -> reducer

需要state (等同于总状态) -> store

对Redux来说只要这三个要素:

action是纯声明式的数据构造,只供给事件的所有要素,不供给逻辑。

reducer是一个匹配函数,action的发送是全局的:所有的reducer都可以捕获到并匹配与本人相关与否,相关就拿走action中的要素停止逻辑处置,修改store中的状态,不相关就不合错误state做处置原样返回。

store负责储备状态并可以被react api回调,公布action.

当然一样不会直接把两个库拿来用,还有一个binding叫react-redux, 供给一个Provider和connect。许多人其实看懂了redux卡在这里。

Provider是一个一般组件,可以作为顶层app的分发点,它只需要store属性就可以了。它会将state分发给所有被connect的组件,不管它在哪里,被嵌套多少层。

connect是真正的重点,它是一个科里化函数,意思是先接受两个参数(数据绑定mapStateToProps和事件绑定mapDispatchToProps),再接受一个参数(将要绑定的组件本身):

mapStateToProps:构建好Redux系统的时候,它会被主动初始化,但是你的React组件并不知道它的存在,因此你需要分拣出你需要的Redux状态,所以你需要绑定一个函数,它的参数是state,简便返回你关怀的几个值。

mapDispatchToProps:声明好的action作为回调,也可以被注入到组件里,就是通过这个函数,它的参数是dispatch,通过redux的辅助办法bindActionCreator绑定所有action乃至参数的dispatch,就可以作为属性在组件里面作为函数简便使用了,不需要手动dispatch。这个mapDispatchToProps是可选的,假如不传这个参数redux会简便把dispatch作为属性注入给组件,可以手动当做store.dispatch使用。

这也是为什么要科里化的缘由。

做好以上流程Redux和React就可以工作了。

简便地说就是:

1.顶层分发状态,让React组件被动地渲染。

2.监听事件,事件有权益回到所有状态顶层影响状态。

总结:

react需要一个治理状态的治理者,redux就充当这个角色停止顶层分发状态,改动react组件的渲染。

以上就是redux和react有啥不同的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板