来自newbe学习的一般性问题反应

时间:2017-11-08 21:08:22

标签: reactjs react-native

用React苦苦挣扎。有以下问题:

  1. 虚拟dom是否总是必须重新渲染节点下面的所有节点?
  2. 有人可以解释一下州是什么吗?
  3. 看来你还必须在脚本标签中包含babel.min.js才能让东西上班,但是控制台说了

    babel.min.js:24您正在使用浏览器中的Babel转换器。请务必预编译脚本以进行生产

    我们应该采用不同的方式来设置测试用例吗?

  4. 使用:

    var HelloComponent2 = React.createClass({
    render: function() {
       return(
          <h1>Hello, classical</h1>
       );
    }
    });
    
  5. 我得到React.createClass不是控制台中的函数。

    感谢所有的帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

我强烈建议从这里开始:https://reactjs.org/tutorial/tutorial.html

您可以通过生命周期事件(特别是my)控制重新渲染,但暂时不要担心。

将状态视为组件需要跟踪的所有内容。它只是一个对象,您可以更新并使用它来移动组件周围的数据。

通常,React是服务器端编写的,已编译,然后提供服务。 Babel-js是Javascript的一个转换器,它使它与旧版本兼容(基本上将ESNext转换为ES5)。这通常是通过VIA webpack处理的。如果您正在使用React,请使用create react app查看此操作。

shouldComponentUpdate()

并不是真正的现代反应。我不知道你在哪里学到了它,但它已经很老了(虽然有些人仍然会这样写,因为这是一种不必要的痛苦)。你得到未定义错误的原因是因为React对于套管是挑剔的,一切都是pascal case所以你想说var HelloComponent2 = React.createClass({ render: function() { return( <h1>Hello, classical</h1> ); } }); 。但是,我建议尝试使用这种现代语法:

React.CreateClass

查看官方的React教程,了解有关此内容的更多信息。我也强烈推荐https://www.tylermcginnis.com他关于React的课程,ES6非常好