34
回答
高手问答第 195 期 — 前端框架的后起之秀:React 进阶之路

OSCHINA 本期高手问答(4 月 25 日 - 5 月 1 日)我们请来了徐超@艾特老干部 和大家一起探讨关于使用 React 进行前端开发的问题。

徐超,毕业于浙江大学,硕士,资深前端工程师,长期就职于能源物联网公司远景智能。8 年软件开发经验,熟悉大前端技术,拥有丰富的 Web 前端和移动端开发经验,尤其对 React 技术栈和移动 Hybrid 开发技术有深入的理解和实践经验。

虽说前端框架层出不穷,前端技术也是瞬息万变。但就目前来看,前端框架呈“三国鼎立”之势,Angular、Vue.js 和 React 都在自己的一隅默默发展着。

自 React 问世以来,大家认识到了一种全新的网页应用开发方式,可对于很多还没有深入实践过 React 开发的工程师来说,React 到底做了什么?React 适合什么样的场景?又应该如何投入使用?在具体业务逻辑的实现上,怎样才是最佳的实践?这些都是需要去了解与思考的问题。

本期问答内容:

1. React 作为热门的前端框架,学习时应注意什么?
2. 选取 React 作为前端框架,需要考虑哪些因素?
3. React 解决了前端开发的哪些痛点?
4. React 开发实战技巧分享

或有其他相关问题,也欢迎大家积极提问!

为了鼓励踊跃提问,@局长 会在问答结束后从提问者中抽取 5 名幸运会员赠予《React进阶之路》一书。

图书购买地址:京东当当天猫

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就关于 React 开发的问题向徐超@艾特老干部 提问,请直接回帖提问。

举报
局长
发帖于5个月前 34回/3K+阅
共有34个答案 最后回答: 5个月前
@艾特老干部 作品里面有什么特点可以让我们新手更好的学react么?现在市场上已经有好react教程了?
--- 共有 1 条评论 ---
艾特老干部你好,关于本书的特点,可以看我这篇推荐:https://mp.weixin.qq.com/s/l49ICJr4qB3IGYILxziZQw 5个月前 回复

@艾特老干部 您好,最近接触的几个项目前端都是使用React框架的,在调用后台接口导出文件时都是通过iframe标签来实现的,请问有其他方法吗?

--- 共有 1 条评论 ---
艾特老干部你好,文件导出功能本身是和React无直接关系的,例如,你也可以借助<a>标签的url和download属性实现文件下载功能。 5个月前 回复

@艾特老干部 

1.本人不喜欢redux+immutable、mobx这样的库,首选我觉得这类框架api很繁杂,redux搞个功能需要先弄action,actionbuilder,reducer我觉得好麻烦。其次这类库有一定的学习成本,开发学习成本重了。我还是比较倾向于在约定好一定的代码风格后直接使用setState,大神你觉得我这样的见解如何。

2.react怎么进阶?...看源码吗?

--- 共有 1 条评论 ---
艾特老干部1. 小型项目或者数据流很简单的项目,是可以完全不使用状态管理库的。但对于大型或者数据流复杂的项目,建议还是引入专门的状态管理库,redux和mobx其实也是基于一定最佳实践的约定,只不过这个约定在代码层面做了实现。如果约定只停留在口头或者文档上,是很容易失控的。 2. 我认识进阶更重要的是,理解框架和库背后的设计思想,以及在项目中使用时,对最佳实践的总结和思考。这两点正是从理论和实践两方面的进阶 5个月前 回复

@艾特老干部 麻烦抽时间答疑一下:(1)如何简便的把已有的react项目迁移到immutable?(2)react的服务器端渲染框架next.js值得投入到生产环境吗?(3)在Google大力推广AMP的情况下,react项目能否与之关联起来?

麻烦了,谢谢。

--- 共有 2 条评论 ---
cnc2007谢谢评论,目前已经使用react+nextjs用于开发制作和管理amp自定义组件。 5个月前 回复
艾特老干部1. 如何项目稳定,不建议迁移到immutable,因为对项目整体的数据结构改动较大,容易产生较多bug。 2. next.js是一个很不错的ssr框架,对这方面有需求的话,可以进行投入。 3. amp和react是两个维度的事情,等到amp真正普及时,react没有理由无法使用的。 5个月前 回复

@艾特老干部 您好,最新在学习react+redux+typescript的框架。

1、redux替代方案?发现redux是很重量级的库,仅仅完成一个稍简单的功能都需要action,store,reducer等大量的组件。是否有轻量级的redux的替代方案可以使用?

2、脚手架?react是否有媲美angular-Cli或者vue-cli的脚手架工具?感觉出学者上手难度还是很高的。

3、技术进阶?再就是我也想问的,react如何进阶?有没有合适的进阶线路?

--- 共有 2 条评论 ---
雪舞潇湘 回复 @艾特老干部 : 3Q。我回头试试mobx,另外create-react-app是比较小巧的那种。可能我angular-cli用惯了把webpack都集成了的那种,切换到自由性比较高的不太习惯。另外技术进阶可能想问的是哪些知识点/哪些案例比较适合~ 5个月前 回复
艾特老干部1. mobx是redux的一个替代方式,是传统mvc的思想,学习曲线缓和些。 2. react官方的create-react-app就挺好的,我书中的示例都是基于它完成的。 3. 你的这个问题感觉像让我为自己的书打广告,我的书就是按照进阶路线来编写的,基础篇-进阶篇-实战篇,帮助大家掌握框架的使用,加深框架的理解,并能在真实项目中使用起来。框架的设计思想,项目的实践总结和思考,是进阶的关键。 5个月前 回复

@艾特老干部 最近在用react,但是对redux不是很了解,可以大概介绍一下用法吗

--- 共有 1 条评论 ---
艾特老干部你好,这个问题需要大量篇幅,建议你可以先看看官网文档,或者可以阅读下我的新书《React进阶之路》。 5个月前 回复

@艾特老干部   你好,一直以来都是做后台的,但是对于前端也是非常感兴趣,react也是比较火的前端技术,之前也有一点了解过,但是对于js的学习总是比较薄弱,对于前端js的学习有什么建议,可以快速提升js水平,react作为前端比较火的技术,相比Angular,vue来说有什么优势。

--- 共有 1 条评论 ---
艾特老干部掌握基础的html、js、css基础后,选择一个框架(angular,react, vue都是很优秀的库),找一本相关框架的优秀书籍,系统地学习。关键是:1、系统性地学习;2、多实践。 5个月前 回复

@艾特老干部 您好,请问您对原生应用集成rn有相关研究或者实践吗?

--- 共有 1 条评论 ---
艾特老干部你好,rn我用的还比较少,但据我了解,原生应用中集成rn的这条路是完全没有问题的,像携程等一些大公司,都有在这么做。不过确实也存在一些坑需要填。 5个月前 回复

@艾特老干部 react的ui库都是基于PC的,移动端ui库大都是vue,react不适合移动端web开发吗

--- 共有 1 条评论 ---
艾特老干部并非如此,你的这个因为,是推导不出这个结果的。react和vue都是针对视图层的js库,和用在pc web还是移动web并没有直接关系。另外,antd也是有专门的mobile版本的。 5个月前 回复
顶部