react:生态以及实际项目选择

react 的生态在web端,移动端,服务器端,VR领域都有涉及。
react本身是面向web端的,它很轻便灵活,只是MVC架构中的view(视图)层。由于只是view层,所以它需要配合生态体系中的其他框架或模块来使用。
以下选择都是 github 上 star 最多的。

必备

  1. 路由
    react-router
  2. 状态管理
    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中能够获取到。

  1. http 请求
    fetch(另外dva里有内置fetch哦)
  2. 集成
    另外国内蚂蚁金服前端团队基于redux, react-router打造了另一个前端框架——dva。
    如果你选择redux方案,那么建议直接使用dva。
    建议看一下dva官网左边导航有个例子和脚手架,有别人用 dva 做过比较优秀的项目可以学一学。
  3. UI库
    ant design,ant design pro(开箱即用的管理系统)
  4. umi
    可以简单地理解为 roadhog + 路由,适合和 dva 搭配使用

工具

  1. Immutable-js
    facebook推出的完全独立的一个js库,侧重函数式编程中不可变数据结构。
  2. draft-js
    基于react的编辑器语言
  3. css-modules
    css的发展,已从最原始的css,到后来的less/sass,再到postcss,以及css in js,再到css-modules。无一不是向着模块化进发,甚至于有没有可能发展到组件化style,还有待实践和考察。
  4. react-devtools
    react调试工具

项目搭配

PC:react+dva+ant design
mobile:react+dva+ant-design-mobile

服务器端

  1. next

VR

react-vr
底层的OpenGL、WebGL、three.js。

全平台

reactxp

你可能感兴趣的:(react)