React(来自Facebook的应用程序框架)和react.js(JS的反应式扩展)之间有什么区别/相似之处

What are the difference/similarities between React (app framework from Facebook) and react.js (reactive extensions for JS)?

本文关键字:什么 之间 区别 相似 扩展 JS 应用程序框架 Facebook 来自 react React      更新时间:2023-09-26

我最近了解到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-23react.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