React笔记——核心概念:4.组件&Props

1、组件

  • 组件,从概念上类似于 JavaScript 函数。

  • 它接受任意的入参(即 “props”),并返回用于描述页面展示内容的 React 元素。

  • 组件名称必须以大写字母开头。

2、函数组件与class组件

  • 函数组件

    • 接收带有数据的“props”(代表属性)对象并返回一个React元素

    • 本质上就是Javascript函数

  • ES6的class定义组件

3、渲染组件

  • React元素可以是用户自定义的组件

    • 当 React 元素为用户自定义组件时,它会将 JSX 所接收的属性(attributes)以及子组件(children)转换为单个对象传递给组件,这个对象被称之为 “props”。

  • 示例分析:

     

    • 1.我们调用 ReactDOM.render() 函数,并传入 <Welcome name="Sara" /> 作为参数。

    • 2.React 调用 Welcome 组件,并将 {name: 'Sara'} 作为 props 传入。

    • 3.Welcome 组件将 <h1>Hello, Sara</h1> 元素作为返回值。

    • 4.act DOM 将 DOM 高效地更新为 <h1>Hello, Sara</h1>

4、组件组合

  • 组件可以在其输出中引用其他组件。

    • 通常来说,每个新的 React 应用程序的顶层组件都是 App 组件。

5、提取组件

  • 初始组件
  • 提取头像
  • 提取UserInfo组件

6、Props的只读性

  • 组件不能修改自身的 props

  • 纯函数

    • 函数不会尝试更改入参

    • 多次调用下相同的入参始终返回相同的结果

  • 非纯函数

    • 更改了自己的入参

  • 严格的规则

    • 所有 React 组件都必须像纯函数一样保护它们的 props 不被更改。