关于react的一些疑惑,Dan Abramov的回答

#1

原文:https://medium.com/@dan_abramov/hey-thanks-for-feedback-bf9502689ca4

回答问题的关键点

  • react 16
  • create-react-app
  • react native

主要观点:

  1. 即将到来的react 16 不会对现有代码造成太大影响,facebook内部大约30000+的组件,仅有几十个需要微小改变
  2. 针对之前react组件必须render一个根节点,会生成div的问题,react 16中引入新的调度算法react fiber解决了这一问题
  3. 针对react上手需要了解很多新的概念问题,dan abramov认为新手完全可以依赖现有的es5语法,直接引入脚本的方式学习开发,无需使用webpack,es6
  4. 针对react-router版本升级频繁,api变动比较大,特别是最近的v4.0,dan abramov也作出了解释:
    • react-router并非facebook官方维护
    • api从1.x到2.x变化并不大,但增加了对3.x要改变的api的提醒,3.x公开了这些变动的api
  • 4.x针对这些年react-router使用过程存在的issues,做了较大的api改动
  • 目前3.x仍被积极维护,开发者可选择react-router3.x版本继续使用
  • 每次新的大版本发布,react-router给开发者提供一年的时间做迁移

5.由于react native涉及到很多api,牵扯到知识比较多,存在很多到issues属于正常
6.由于jsx的编译需要设置react存在的全局作用域里,所以每次都需要引入react
7.react的版本发布和react native没有太多关系,react native中只使用了react中的component和createElement,相关识别算法会被剥离出来再同步到react native中,未来也会考虑把react和react native的发布节奏同步起来

2 Likes
#2

谢谢大神翻译,多分享一些吧。:heart_eyes:

#3

react router 的地好难洗

#4

不错啊, 全文翻译太累了, 还是翻译成摘要比较省时省力.

#5

其实我一直很好奇为啥 Dan 把头像换成粉色了,出柜了?

#7

同意。本来用的是3,后来更到4。项目直接跑不动了。还好只是小项目,比较好改。