为什么 React 是声明式的
为什么 React 是声明式的
声明式和命令式有什么区别
前言
每次我们打开 反应 网站,我们可以看到 React 的介绍:
我们可以了解到 React 是 声明性的 哪个 **** 可以使我们的代码更可预测和更容易调试。我喜欢使用 React,并且几乎在我所有的项目中都使用它。但这让我感到困惑,什么是声明性的,你和我有同样的问题吗?
当我们谈论声明式时,也提到了命令式。声明式和命令式是两种总是会相互比较的编程范式。在这篇文章中,我将介绍这两种编程范式。
声明式和命令式的概念
我们可以从 维基百科 :
声明式编程是一种编程范式——一种构建计算机程序结构和元素的风格——它表达了计算的逻辑而不描述其控制流。
声明式编程侧重于 什么 程序应该完成 没有指定程序应该如何实现结果的所有细节。与这个词相比, 命令式编程侧重于描述程序如何逐步运行 ,而不是对其预期结果的高级描述。
“声明式与命令式”变成“什么与如何”,我们可以用一个例子来证明这个术语。当我们要创建一个新的 react 项目时,使用命令式的方式会是这样的:
- 创建一个空目录;
- 使用 npm 启动项目;
- 使用 npm 或 yarn install react、react-dom;
- 使用 npm 或 yarn install 构建/编译工具,如 webpack、babel;
- 创建一个 webpack 配置文件;
通过使用命令式的方式,它们可以帮助我们理解所有细节,但是如果我们需要频繁地重复这些步骤来创建项目,那就很烦人了。
如果我们使用声明式的方式,会很简单,只需要一步:
- npx 创建反应应用程序我的应用程序
通过使用声明式,我们不需要知道步骤,只需要关心我们想要做什么。
声明式和命令式的关系
众所周知,所有的高级语言都会被编译为 CPU 的指令,所以在某种程度上,声明式编程是在命令式编程之上的抽象层。
当我们谈论声明式编程或命令式编程时,我们需要定义一个特定的场景,因为声明式动作在某些情况下可能是命令式的。在上面的例子中,我们的场景是创建一个 React 项目。如果我们想批量创建项目,我们可以像下面的代码那样做:
#!/bin/sh a=0
while [ $a -lt 10 ] # 创建 10 个项目
做
npx create-react-app my-app$a
a=`expr $a + 1`
完毕
虽然我们仍然使用 创建反应应用
创建反应应用程序,但这看起来可能是命令式编程。声明式和命令式的关系可能是这样的:
命令式代码可以组合成函数或库,就像声明式代码一样,开发人员使用它来实际编写软件。命令部分成为软件的实现细节。声明部分也可以抽象,在这种情况下,它将是一个命令部分。
声明式和命令式的关系可以帮助我们理解为什么 React 是声明式的,因为 React 提供了一种非常简单的方式来创建交互式 UI,而不是使用原生 JavaScript 来维护 dom,React 让我们只需要关心数据并且 UI 会自动更新而数据改变。
最后
在本文中,我们了解了声明式编程和命令式编程之间的区别。在我们的项目中建议使用声明式编程,因为代码将更具可读性和可理解性。
感谢您阅读到这里,希望这篇文章可以帮助到您。
参考
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明