2

我最近了解了 Facebook/Instagram 的名为“React”的 JavaScript 应用程序框架,并想进一步研究它。但是,我发现自己得到了相互矛盾的搜索结果,因为还有另一个类似名称的库。所以,我的问题是:两者之间是否有相似之处,或者有人可以在命名方面做得更好?

反应
http://facebook.github.io/react/index.html

react.js
http://www.reactjs.com/

4

3 回答 3

3

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);
于 2013-09-11T19:18:09.513 回答
1

上面添加了更多比较:

反应.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,反之亦然,这就是我最喜欢的部分,我这样编码已经有一段时间了,但是从来没有一个框架可以为我做这件事,现在我做到了:)
于 2013-12-11T03:40:00.063 回答
0

现在http://www.reactjs.com/重定向到https://facebook.github.io/react/

它的域似乎被收购了!

此时2016-08-23,google搜索结果react.js都是关于facebook react

我不知道是什么you said react.js,它似乎消失了!

从上面的答案

react.js 是一个语言扩展

我只是觉得旧的 react.js 现在似乎是http://reactivex.io/,我不知道对错

你可以在这里看到一些比较:http: //blog.getsetbro.com/js/FB-react-vs-reactiveJS-vs-ractiveJS-vs-reactiveUI-vs-reactiveX.html

于 2016-08-23T05:06:02.633 回答