OSC 第 86 期高手问答 —— ReactJS

叶秀兰 发布于 2015/08/04 21:02
阅读 4K+
收藏 21

OSCHINA 本期高手问答(8月5日-8月11日) 我们请来了@dfguo (郭达峰)@cardistry沈瑜杰)为大家解答关于 ReactJS 方面的问题。

郭达峰@dfguo,Strikingly CTO,也是联合创始人。于 2010 年开发了三款 Facebook 平台的应用,获取了超过千万的用户。2012 年创立了市面上最简易的建站平台 Strikingly,成为第一家进入 YC 孵化器的华人团队。

沈瑜杰,@cardistryStrikingly 前端工程师。主要负责 Strikingly 新功能的开发。 参与了用 React 对 Strikingly 的重写。 对 React 中 UI = F(state) 的思想略有一些实践和研究。

React 究竟是什么?Facebook 把它简单低调地定义成一个「用来构建 UI 的 JavaScript 库」。这个定义也许会让我们联想到许多 JavaScript 模板语言(比如 Handlebars 和 Swig),或者早期的控件库(比如 YUIDojo),但是 React 所基于的几个核心概念使它与那些模板和控件库迥然不同。事实上这几个核心概念非常超前,已经给整个前端世界带来了冲击性的影响。它们包括:

  • 组件和基于组件的设计流程
  • 单向数据流动
  • 虚拟 DOM 取代物理 DOM 作为操作对象
  • 用 JSX 语法取代 HTML,在 JavaScript 里声明式地描述 UI

这几条简单的原则放在一起带来了大量的好处:

  • 前端和后端都能够从 React 组件渲染页面,完全解决了 SEO 这样的长期困扰 JavaScript 单页应用的问题
  • 我们可以简单直接地写前端测试而完全忘掉 DOM 依赖
  • 组件的封装方式和单向数据流动能够极大地简化前端架构的理解难度

几乎没有犹豫,我们开始使用 React 来重构 Strikingly。我们深信 React 会彻底改变客户端开发者(包括前端、iOS 和 Android)的开发体验。

Strikingly 现在正在寻找志同道合的伙伴哦,有兴趣请前往:http://www.strikingly.com/s/careers 

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

下面欢迎大家就 ReactJS 方面问题向 @dfguo@cardistry  提问,请直接回帖提问。

加载中
1
Yisen
Yisen
@dfguo :请问react跟angular的区别是什么?如果是新入门的推荐学哪种呢?
双城记
双城记
react可以理解成是仅仅是view层渲染组件,而angularjs却是一套完整的框架,包含了view、路由控制、service、ajax交互等等一系列的工具
0
xilei
xilei

@dfguo :有两个问题

1.react.js 有哪些适用和不适用的方面,例如我只是要写一个简单的web监控平台的前端,react.js可以吗?

2.react.js和其他ui库一起使用有没有什么问题,例如Semantic UI 

0
悟空没了筋斗云
悟空没了筋斗云
@dfguo :有哪些用react编写的app可供参考体验吗?
0
清靜無虞
清靜無虞
@dfguo :在React的组件内部引用元素很方便,用this.refs就行了,但是想引用组件外的某个dom元素,好像非常不方便,不能像jquery之类的通过css路径选择来获取元素的引用。不知道React是怎么解决在component内查找和引用component外的dom元素的?
0
zcx2001
zcx2001

@dfguo : 请问一下 如果我选择react作为view的话 路由控制 service ajax交互 有什么好的推荐库吗?

我朋友推荐我用react + blackbone 你看这个可以吗?

0
Neo
Neo
@dfguo :请问react如何解决动画实现?以一定的速率来不断更新状态,然后重新渲染?
0
kimown
kimown
@dfguo :请问,如果用reactjs已经可以完成日常开发,如果想要深入了解react,切实可行的的方案,应该从哪一点着手,由点及面的过程是哪些?
0
翟志军
翟志军

@dfguo : 请问怎么设计整个ReactiveJS应用的异常处理过程?


0
克己克己
克己克己
@dfguo :您好,这种新型的js框架我目前只用过angular,reactJS我还没接触过。请问react主要应用在哪些地方
0
cyper
cyper

@dfguo : 如果之前是使用backbone+handlebars+cordova开发mobile应用,现在如果修改成reactjs, 是不是只需要替换掉handlebars,其它的模块仍需保留。贵公司手机端应用又是采用的哪些技术栈

仙緣無夢
理论上是可以只替换 handlebars 的,如果你只把 React 用作一个 UI 渲染工具的话。我们目前手机端还并未支持编辑功能,所以依旧是原声 iOS 应用。当然最近已经计划一些手机端的革新了,不过在此暂不方便透露。
返回顶部
顶部