react:生态以及实际项目选择
作者:互联网
react 的生态在web端,移动端,服务器端,VR领域都有涉及。
react本身是面向web端的,它很轻便灵活,只是MVC架构中的view(视图)层。由于只是view层,所以它需要配合生态体系中的其他框架或模块来使用。
以下选择都是 github 上 star 最多的。
必备
- 路由
react-router - 状态管理
redux,react-redux,dva
redux 和 react-redux 的区别:
redux是独立的应用状态管理工具。它是可以独立于react之外的。如果我们需要在react当中运用它,那么我们需要手动订阅store的状态变化,来对我们的react组件进行更新。那么react-reudx这个工具,就帮我们实现了这个功能,我们只需对store进行处理,react组件就会有相应的变化。
Redux提供的API:
store, action, reducer
react-redux提供的API:
connect: 将store作为props注入
Provider: 使store在子孙组件的connect中能够获取到。
- 集成
另外国内蚂蚁金服前端团队基于redux, react-router打造了另一个前端框架——dva。
如果你选择redux方案,那么建议直接使用dva。 - UI库
ant design,ant design pro(开箱即用的管理系统) - umi
可以简单地理解为 roadhog + 路由,适合和 dva 搭配使用
工具
- Immutable-js
facebook推出的完全独立的一个js库,侧重函数式编程中不可变数据结构。 - draft-js
基于react的编辑器语言 - css-modules
css的发展,已从最原始的css,到后来的less/sass,再到postcss,以及css in js,再到css-modules。无一不是向着模块化进发,甚至于有没有可能发展到组件化style,还有待实践和考察。 - react-devtools
react调试工具
项目搭配
PC:react+dva+ant design
mobile:react+dva+ant-design-mobile
服务器端
- next
VR
react-vr
底层的OpenGL、WebGL、three.js。
全平台
reactxp
Lvan-Zhang 发布了165 篇原创文章 · 获赞 59 · 访问量 3万+ 私信 关注标签:dva,js,react,store,css,redux,生态,项目选择 来源: https://blog.csdn.net/weixin_43972437/article/details/104080940