[英]What is wrong in my “Hello World” example?
我学习了ReactJS,并尝试通过“清除ReactJS”来使用它。
这是我的简单代码:
class MyList extends React.Component{ constructor(data){ super(data) this.text = data.text } render(){ return React.createElement("h1", null, this.props.text) } } const root = document.getElementById("root") const component = new MyList({text:"abcdefgh"}) ReactDOM.render(component,root)
<div id="root"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
但这是行不通的。 为什么不起作用?
谢谢。
错误在您的const组件行中。 ReactDOM.render函数的第一个参数应该是实际的组件。 组件是通过使用React.createElement生成的(就像您在MyList组件的render()函数中所做的那样。这是一个有效的示例: https ://jsbin.com/lejuwet/1/edit?html,js,output
class MyList extends React.Component{
constructor(data){
super(data)
this.text = data.text
}
render(){
console.log("render");
return React.createElement("h1", null,
this.props.text)
}
}
const root = document.getElementById("root")
const component = new React.createElement(MyList, {text: "123"});
ReactDOM.render(component, root)
您正在使用旧版本的ReactJS。 这就是React v16的外观。
import React,{ Component } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
class App extends Component {
constructor(props) {
super(props)
}
render() {
return(
<h1>Hello World</h1>
);
}
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.