美文网首页
构建一个 React 组件的步骤

构建一个 React 组件的步骤

作者: 滑天下之大稽 | 来源:发表于2020-03-07 14:22 被阅读0次

参考资料

将设计好的 UI 划分为组件层级

首先,需要在设计稿上用方框圈出每一个组件(包括其子组件),并以合适的名称命名。

以单一功能原则来判定组件的范围:一个组件原则上只能负责一个功能,如果他需要负责更多的功能,这时候就应该考虑将它拆分为更小的组件。

在实际工作中,向用户展示的 JSON 数据模型,如果 UI 划分的或者说设计的恰当,UI 组件结构便会与数据模型一一对应,这是因为 UI 和数据模型都会倾向于遵守相投的 结构,将 UI 分离为组件,其中每个组件需要与数据模型的某个部分匹配。

用 React 创建一个静态版本

使用已有的数据,或者自己编写符合设计稿的数据,渲染一个不包含交互功能的 UI。

最好将渲染 UI 和添加交互这两个过程分开:

  1. 编写一个应用的静态版本时,需要大量代码,而不需要太多细节交互;
  2. 添加交互功能时,则需要考虑大量细节,而不需要太多代码。

所以将这两个过程分开进行更为合适。

组件的state应该表示 一个 UI 组件 变化的数据,应当仅在实现交互时使用,而不是在构造静态版本时使用到。

顺序:

  1. 自上而下构建应用:最先编写层级高,或者是外围的组件,从大的框架,详细丰富到内部的小组件。
  2. 自下而上构建应用:先从最基本的(elementary)元素开始编写,比如某个按钮,某一行。

确定 UI state 最小(且完整)表示[描述方式]

==Don`t Repeat Yourself== 是这一步的关键词。

通过问自己下面三个问题,可以逐步检查相应数据是否属于 state:

  1. 该数据是否是父组件通过 props 传递而来?如果是,那它应该不是 state。
  2. 该数据是否随时间推移而保持不变?如果是,那它应该也不是 state
  3. 能否根据其他 state 或 props 计算出该数据的值?如果是,那它也不是 state。

确定 state 放置的位置

对于应用中的每一个 state:

  • 找到根据这个 state 进行渲染的所有组件
  • 找到他们的共同所有者(common owner)组件(在组件层级上高于所有需要该 state 的组件)。
  • 该共同所有者组件或比它层级更高的组件应该拥有该 state。
  • 如果找不到一个合适的位置存放该 state,可以创建一个新的组件来存放该 state,并将这一新组件置于高于共同所有者组件层级的位置。

添加反向数据流

React 通过一种比传统的双向绑定略微繁琐的方式来实现反向数据的传递。

如果我们需要改变某一个 state,我们只能在该 state 的所有者组件中修改它。当把 state 传给子组件的时候,如果想在子组件中修改这个 state 数据,就要通过 props 传递一个修改state的回调函数给同样的子组件。

相关文章

  • React 渲染机制

    React 渲染过程 在使用 React 构建应用时,总有一个步骤是将组件 / 虚拟 DOM 树渲染到真实的 DO...

  • 3.组件

    React 组件 可以这么说,一个 React 应用就是构建在 React 组件之上的。 组件有两个核心概念: p...

  • 3.组件

    React 组件 可以这么说,一个 React 应用就是构建在 React 组件之上的。 组件有两个核心概念: p...

  • 构建一个 React 组件的步骤

    参考资料 将设计好的 UI 划分为组件层级 首先,需要在设计稿上用方框圈出每一个组件(包括其子组件),并以合适的名...

  • 【三】React之组件

    努力的废柴 React组件 一个React应用就是构建在React组件之上的。组件有两个核心概念: props s...

  • 组件分享之前端组件——用于从 JSON Schema 构建 We

    组件分享之前端组件——用于从 JSON Schema 构建 Web 表单的 React 组件react-jsons...

  • React概念

    介绍 React的核心思想是:封装组件。React大体包含下面概念: 组件React 应用都是构建在组件之上。上面...

  • React入门(二)

    三、React组件 React 组件基本上是由组件的构建方式、组件内的状态属性与生命周期方法组成 React.cr...

  • 如何创建React组件并发布到npm?

    实现步骤: 创建React组件项目; 创建测试项目并引用组件; 发布React组件到npm上; 一、创建React...

  • 深入浅出React和Redux学习笔记(二)

    设计高质量的React组件 构建高质量的React组件的原则和方法: 划分组件边界的原则; React组件的数据种...

网友评论

      本文标题:构建一个 React 组件的步骤

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