React中jsx的理解

122 阅读1分钟
const C = props => 'demo' // 这是个最简单的组件了
<C name='demo' />
  • react中的标签究竟是啥? 其实就是被 babel 编译的一串代码
React.createElement(
  Comp, 
  props,    // { name: 'demo' }  key  ref
  children   // 同样是被babel编译的代码
)
// Comp的取值
// 1. 浏览器内置标签,比如 div span 等
// 2. 自己定义的组件(函数组件 或者 类组件)
// 3. react内置的组件 例如 <></>
  • 返回的是啥
{
    $$typeof: REACT_ELEMENT_TYPE,
    type,   // 其实就是 Comp
    key,
    ref,
    props
}