重新思考react - 返璞归真

用了React应该有半年多了吧,但感觉用了好几年一样.

接触生态圈:

  • react
  • react-router
  • fetch
  • redux
  • antd
  • bootsrtap
  • weui
  • 其他react组件
  • echart

css webapck什么不算在react 生态圈里

回想

记得刚开始接触的时候,看过各种视频,文档,demo
redux 让我们更说得出 “单项数据流”, 但这似乎又让太多人进入了误区

  • 让redux存储一切
  • 让所有组件就无状态

让我们再回想下react本身

  • 单纯的一个view

redux呢?

  • 为了组件间通讯而生

redux所创造出的一套”流程”确实能让很多刚接触的人就能开始干活,但貌似太多人缺少了思考,一切都趋向于工厂式的产出

现实

看到无数项目将所有数据放入store,绝大部分组件都只基于props的变化来render

思考

现实的应用方式貌似违反了一个基本的定义
react - view
redux - 组件通讯

人们已经把需要的和不需要的消息都发给了所有的订阅者,这种冗余来源于无脑的应用redux
产生更多的this.props和nextProps的比较操作,甚至更多的无用渲染

记得react风潮兴起,而redux尚未崛起的时候,面试官总爱问state和props的区别,但现在的人们早已经不在思考这些了吧

总结

返璞归真

我们需要回归定义

  1. 让redux转注于组件间沟通,不需要的发布的消息不要发布,不需要的消息不要订阅
  2. 让state和props明确区分,能够产生自己最小作用域的,内部state消化,需要交互通讯的且消息传递相隔较远的需要状态管理