react 20-9-23

167 阅读1分钟

组件 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方法,获取其返回值

react组件通信