为什么 React 是声明式的

为什么 React 是声明式的

声明式和命令式有什么区别

前言

每次我们打开 反应 网站,我们可以看到 React 的介绍:

我们可以了解到 React 是 声明性的 哪个 **** 可以使我们的代码更可预测和更容易调试。我喜欢使用 React,并且几乎在我所有的项目中都使用它。但这让我感到困惑,什么是声明性的,你和我有同样的问题吗?

当我们谈论声明式时,也提到了命令式。声明式和命令式是两种总是会相互比较的编程范式。在这篇文章中,我将介绍这两种编程范式。

声明式和命令式的概念

我们可以从 维基百科

声明式编程是一种编程范式——一种构建计算机程序结构和元素的风格——它表达了计算的逻辑而不描述其控制流。

声明式编程侧重于 什么 程序应该完成 没有指定程序应该如何实现结果的所有细节。与这个词相比, 命令式编程侧重于描述程序如何逐步运行 ,而不是对其预期结果的高级描述。

“声明式与命令式”变成“什么与如何”,我们可以用一个例子来证明这个术语。当我们要创建一个新的 react 项目时,使用命令式的方式会是这样的:

  1. 创建一个空目录;
  2. 使用 npm 启动项目;
  3. 使用 npm 或 yarn install react、react-dom;
  4. 使用 npm 或 yarn install 构建/编译工具,如 webpack、babel;
  5. 创建一个 webpack 配置文件;

通过使用命令式的方式,它们可以帮助我们理解所有细节,但是如果我们需要频繁地重复这些步骤来创建项目,那就很烦人了。

如果我们使用声明式的方式,会很简单,只需要一步:

  1. 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 会自动更新而数据改变。

最后

在本文中,我们了解了声明式编程和命令式编程之间的区别。在我们的项目中建议使用声明式编程,因为代码将更具可读性和可理解性。

感谢您阅读到这里,希望这篇文章可以帮助到您。

参考

  1. c# — 编程中的声明式范式和命令式范式有什么区别? - 堆栈溢出
  2. 编程范式——维基百科
  3. 声明式编程——维基百科
  4. 命令式编程——维基百科

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/22826/48490909

posted @ 2022-09-09 09:49  哈哈哈来了啊啊啊  阅读(328)  评论(0编辑  收藏  举报