组件 Component
const div = React.createElement("div",...) 这是一个React元素 (d小写)
const Div = () => React.createElement("div",...)
<Div />是一个React组件
函数组件
function Welcome(props){
return
<h1>Hello,{props.name}</h1>
}
类组件
class Welcome extends React.Component{
render(){
return <h1>Hello,{this.props.name}</h1>
}
}
**使用方法都是: **
<Welcome name="xxx">
babel loader分别把<div>和<Div/>翻译成 React.createElement("div")和 React.createElement(Div)
React.createElement的逻辑:
如果传入一个字符串"div" 则会创建一个div
传入一个函数,会调用该函数,获取其返回值
传入一个类,则会在类面前加个new(导致执行constructor),获取一个组件对象, 然后调用对象的render方法,获取其返回值