react学习(三)______组件注册

今天我们就详解一下在react中注册组件的两种方法,组件的类型有两种,一种是函数式组件,一种是class组件。
注意:
(1)定义组件名字的时候需要大写开头字母
(2)render()函数里面必须返回有且只有一个唯一的父元素,这个根元素可能是div,可能是其他的元素,官方不建议使用div作为根元素。。。为什么?因为用div作为根元素就需要加载多余的与div有关的属性或者DOM节点,这些属性用的又比较少,div加载多了容易浪费内存,所以官方出了一个<> sdsa</>根元素 或者 <Fragment>asdasdasd</Fragment>,使用这两个根节点就能够解决此类的问题。从react里面解构出来Fragment技能使用了。

函数式组件

import React, { Component } from 'react'
const Child = (props) =>{
  return(
    <>
      我是App里面的child组件
    </>
  )
}
export default class App extends Component {
  render() {
    return (
      <div>
        <Child></Child>
      </div>
    )
  }
}

class组件

import React, { Component } from 'react'

class Brother extends Component{
  render(){
    return(
      <div>
        我是Brother组件
      </div>
    )
  }
}

export default class App extends Component {
  render() {
    return (
      <div>
        <Brother></Brother>
      </div>
    )
  }
}

面试官:

1.函数式组件与class组件有什么区别?

  • 函数式组件没有实例化,占用内存较少,故而能够提升性能。
  • 函数式组件没有状态,没有独立的state,所有数据传入都依赖props,所以它是无状态组件
  • 函数式组件没有this指向
  • 函数式组件没有生命周期管理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。