React组件的定义与使用

组件-函数概念

学习目标: 认识组件的概念,了解租件与页面和其他组件的关系

1. 每一个组件和页面上每一个模块形成一一对应的关系。组件之间可以形成一个嵌套关系,可以进行数据流通

2. 一个庞大项目由一个个组件像搭积木一样搭建起来,最终形成一个复杂的应用

3. 组件化这种模式更加利于代码复用

4. 组件的应用提高了可维护性

组件-函数组件

学习目标: 能够独立使用函数完成 react 组件的创建和渲染
概念:

使用 JS 的函数(或箭头函数)创建的组件,就叫做函数组件
组件的定义与渲染:

js 复制代码
// 定义函数组件
function HelloFn() {
  return <div>这是一个函数组件</div>
}

// 定义类组件
function App() {
  return (
    <div>
      {/* 渲染函数组件 */}
      <HelloFn />
      <HelloFn></HelloFn>
    </div>
  )
}

export default App
注意:

1. 组件名首字母必须大写,react 内部会根据这个来判断是组件还是普通的 HTML 标签

2. 函数组件必须有返回值,表示该组件的 UI 结构;如果不需要渲染任何内容,则返回 null

3. 组件就像 HTML 标签一样可以被渲染到页面中,组件表示的是一段结构内容,对于函数组件来说,渲染的内容是函数的返回值

4. 使用函数名称作为组件标签名称,可以成对出现也可以自闭和出现

组件-类组件

学习目标: 能够独立完成类组件的创建和渲染

使用 ES6 的 class 创建的组件,叫做类(class)组件
组件的定义与渲染:

js 复制代码
// 引入Raact核心包
import React from 'react'
// 继承写法
class HelloComponent extends React.Component {
  render() {
    return <div>this is HelloComponent</div>
  }
}
function App() {
  return (
    <div>
      <HelloComponent />
      <HelloComponent></HelloComponent>
    </div>
  )
}

export default App

约定说明:

1. 类名称首字母必须大写

2. 类组件应该继承 React.Component 父类,从而使用父类中提供的方法和属性

3. 类组件必须提供 render 方法,render 方法必须有返回值,即该组件的 UI 结构

相关推荐
10年前端老司机4 分钟前
React 受控组件和非受控组件区别和使用场景
前端·javascript·react.js
夏晚星4 分钟前
vue实现微信聊天emoji表情
前端·javascript
停止重构6 分钟前
【方案】前端UI布局的绝技,响应式布局,多端适配
前端·网页布局·响应式布局·grid布局·网页适配多端
極光未晚7 分钟前
TypeScript在前端项目中的那些事儿:不止于类型的守护者
前端·javascript·typescript
ze_juejin8 分钟前
Vue3 + Vite + Ant Design Vue + Axios + Pinia 脚手架搭建
前端·vue.js
lichenyang4539 分钟前
React项目(移动app)
前端
用户618482402195111 分钟前
Vue-library-start,一个基于Vite的vue组件库开发模板
前端
美团技术团队22 分钟前
报名 | 美团技术沙龙第86期:多业务场景下,美团如何做性能优化
前端
安替-AnTi1 小时前
基于 React 和 TypeScript 搭建的机器学米其林餐厅数据分析项目
react.js·typescript·数据分析·毕设·米其林
Rrvive1 小时前
localhost 和 127.0.0.1 的核心区别
前端