美文网首页
React 虚拟Dom + React.createElemen

React 虚拟Dom + React.createElemen

作者: 张思学 | 来源:发表于2019-11-09 11:31 被阅读0次

React.createElement方法 已组件通信文章里的子组件为例子

import React, {Component} from 'react'
import PropTypes from 'prop-types' //导入prop-types

class TodoItem extends Component {
  constructor(props) {
    super(props)
    this.del = this.del.bind(this)
  }

  render() {
    const {content} = this.props
    /* Jsx 先变成了虚拟Dom(Js对象)之后再被转化成真实的Dom */

    /* Jsx模版语法
     * return (
     *   <li>
     *     {content}
     *     <button onClick={this.del}>删除</button>
     *   </li>
     * )
     */

    /* React.createElement方法
     * Jsx模版通过 React.createElement 方法变成Js对象
     * React.createElement 接收三个参数 
     * 1. type: Html标签  
     * 2. props: Html属性(class、id等) 
     * 3. children: 内容
     * */
    return React.createElement(
      'li',
      {},
      content,
       React.createElement(
         'button',
         {onClick: this.del},
         '删除'
       )
    )
  }

  del() {
    const {deleteItem, index} = this.props
    deleteItem(index)
  }
}

export default TodoItem

相关文章

网友评论

      本文标题:React 虚拟Dom + React.createElemen

      本文链接:https://www.haomeiwen.com/subject/idngbctx.html