React(来自Facebook的应用程序框架)和react.js(JS的反应式扩展)之间有什么区别/相似之处
What are the difference/similarities between React (app framework from Facebook) and react.js (reactive extensions for JS)?
我最近了解到Facebook/Instagram的JavaScript应用程序框架"React",并希望更多地研究它。但是,我发现自己得到了相互矛盾的搜索结果,因为还有另一个类似名称的库。所以,我的问题是:两者之间有相似之处,或者有人可以在命名方面做得更好?
反应
http://facebook.github.io/react/index.html
反应.js
http://www.reactjs.com/
react.js 是一种语言扩展,可让您自动绑定值。React 这个名字来自于当一个值发生变化时自动更新值。
react( "soonChanged = undefined" );
react( "reactive = soonChanged + 5" );
react( "reactive2 = reactive * 10" );
react( "soonChanged = 10" );
// Changes the value of reactive from "undefined5" to 15
// and of reactive2 from NaN to 150
另一端的 React 是一个构建用户界面的框架。React 这个名字来自某些状态发生变化时 UI 的自动更新。
/** @jsx React.DOM */
var converter = new Showdown.converter();
var MarkdownEditor = React.createClass({
getInitialState: function() {
return {value: 'Type some *markdown* here!'};
},
handleChange: function() {
this.setState({value: this.refs.textarea.getDOMNode().value});
},
render: function() {
return (
<div className="MarkdownEditor">
<h3>Input</h3>
<textarea
onChange={this.handleChange}
ref="textarea"
defaultValue={this.state.value} />
<h3>Output</h3>
<div
className="content"
dangerouslySetInnerHTML={{
__html: converter.makeHtml(this.state.value)
}}
/>
</div>
);
}
});
React.renderComponent(<MarkdownEditor />, mountNode);
上面添加了更多比较:
反应.js
-
也可以执行自动 UI 更新,但您需要手动编码:
/* **syntax aren't correct but the idea eg: (you can find it in their doc for correct syntax) */ react( "yourReactiveComponent = 1" ) react( "$('body').html( yourReactiveComponent )") /* now u change that variable */ react( "yourReactiveComponent = 4" ) /* it will automatically call that jquery function to change the html from 1 to 4 */
-
它不是一个真正的框架,只是一个 PUBSUB 事件助手,在变量更改时订阅和发布
- 非常适合小型应用
脸书反应
- 这是一个框架
- 他们将处理很多跨浏览器问题
- 他们有一些东西致力于优化性能,例如虚拟 DOM
- 有自己的很酷的标记语法编译器JSX和JSXtransformer,所以你可以在JS文件中编写声明性的HTML,然后将其转换为真正的JS文件
- 它们是组件焦点,因此您将拥有与一个组件相关的JS和HTML,它们在自己的代码块中管理,这使得更改DOM内容变得更加容易,而无需一直从JS切换到TPL,反之亦然,这是我最喜欢的部分,我已经这样编码了一段时间, 但是从来没有一个框架可以为我做到这一点,现在我做:)
现在 http://www.reactjs.com/重定向到 https://facebook.github.io/react/
它的域名似乎被收购了!
此时2016-08-23
,react.js
的谷歌搜索结果都是关于facebook react
我不知道you said react.js
是什么,它似乎消失了!
从上面的答案
React.js 是一个语言扩展
我只是觉得好像老反应.js现在 http://reactivex.io/了,不知对错
你可以在这里看到一些比较:http://blog.getsetbro.com/js/FB-react-vs-reactiveJS-vs-ractiveJS-vs-reactiveUI-vs-reactiveX.html
- 全局变量和全局对象的属性之间有什么区别吗
- 什么是&&在没有if的行中的变量之间
- DOM元素和angular元素之间的主要区别是什么
- 什么's本地node.js服务器和python简单http服务器之间的区别
- JSDoc:模块和名称空间之间的关系是什么
- 什么'$.get和$.ajax之间的区别是什么
- Math.min()和Math.max()之间有什么区别?在Javascript中
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- webpack开发模式和生产构建模式之间有什么区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 什么's extjs中的mon()和on()之间的区别
- XMLHttpRequest对象的open()和send()方法之间有什么区别
- 在使用JS的Ajax调用中,ajaxComplete和beforesend之间有什么区别
- 什么's使用链接和脚本标记引用JavaScript源之间的区别
- 什么's使用脚本标记调用文件和ajax之间的区别
- $(e.target).find和template.find('input').value之间有什么区别
- 什么'“dest”和“dist”之间的区别是什么
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- 在测试间谍的上下文中,存根和mock之间有什么区别?(茉莉花)
- webpack中的源映射之间有什么区别