React有点吃力。有以下问题:
- 虚拟dom是否总是必须重新渲染已更改节点下的所有节点
- 有人能解释一下什么是国家吗
-
似乎你还必须在脚本中包含标签babel.min.js才能让东西正常工作,但控制台显示
babel.min.js:24您正在使用浏览器中的babel转换器。请确保预先编译用于生产的脚本
我们应该用另一种方式设置测试用例吗?
-
使用:
var HelloComponent2 = React.createClass({ render: function() { return( <h1>Hello, classical</h1> ); } });
我得到React.createClass不是控制台中的函数。
感谢所有的帮助,谢谢。
我强烈建议从这里开始:https://reactjs.org/tutorial/tutorial.html
您可以通过生命周期事件(特别是shouldComponentUpdate()
)控制重新渲染,但现在不用担心。
将状态视为组件需要跟踪的所有内容。它只是一个对象,您可以更新它并使用它在组件周围移动数据。
一般来说,React是在服务器端编写、传输,然后提供。Babel-js是一个Javascript的transpiler,使它与旧的stand兼容(基本上将ESNext转换为ES5)。这通常由VIA网络包处理。如果你在玩React,那么使用create-rect应用程序来查看它的实际操作。
var HelloComponent2 = React.createClass({
render: function() {
return(
<h1>Hello, classical</h1>
);
}
});
并不是真正的现代反应。我不知道你是从哪里学到的,但它已经很古老了(尽管有些人仍然会这样写——这是一种不必要的痛苦)。你得到未定义错误的原因是React对大小写很挑剔,一切都是pascal大小写,所以你想说React.CreateClass
。然而,我建议尝试这种现代语法:
class HelloComponent2 extends React.Component {
constructor(props){
super(props);
this.state = {name: props.name}
}
render(){
return(
<h1>Hello, {this.state.name}</h1>
)
}
}
ReactDOM.Render(
<HelloComponent2 name="DCR" />,
document.getElementById("root"))
查看官方的React教程,了解更多关于这些东西的信息。我也强烈推荐https://www.tylermcginnis.com他在React和ES6上的课程是相当不错的