react前端架构图 react前端ui框架_react 表单设计器


一、了解

React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。

React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。

特点:

  1. 声明式设计:React采用声明范式,可以轻松描述应用。
  2. 高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。
  3. 灵活:React可以与已知的库或框架很好地配合。

易于制作UI

  1. “UI(用户界面)”是指用户和计算机通过页面交换信息的操作方法。
  2. 在WEB应用程序中,用户操作的部分,例如屏幕 按钮,菜单,输入表单 等,主要称为UI。
  3. React.js专门有用于添加UI功能,使用户可以更轻松地创建用户友好的UI。
  4. 此外,react可以有效地执行处理,使得用户不会感到操作上的压力。
  5. React.js还可用于提高WEB应用程序的性能。

二、React 的基础知识须知

react:用于构建用户界面的 JavaScript 库

React是一个简单的javascript UI库,用于构建高效、快速的用户界面。它是一个轻量级库,因此很受欢迎。它遵循【组件设计模式声明式编程范式函数式编程概念,以使前端应用程序更高效。它使用虚拟DOM来有效地操作DOM。它遵循从高阶组件到低阶组件的单向数据流

什么是组件设计模式?

React 中一切都是组件。 我们通常将应用程序的整个逻辑分解为小的单个部分。 我们将每个单独的部分称为组件。 通常,组件是一个javascript函数,它接受输入,处理它并返回在UI中呈现的React元素。

面向组件

  1. 在React.js中,使用了“面向组件”的概念。
  2. 面向组件是一种设计方法,可以更轻松地管理UI部分,React.js使管理复杂UI变得简单。
  3. 即使是复杂的UI也可以单独管理每个UI的状态,因此可以自由地进行开发。
  4. React.js是考虑到在开发途中被使用而制作的。
  5. 因此,即使要添加新功能,也不需替换现有代码,只需使用React.js就可以进行开发。
  6. 易于立即引入任何WEB应用程序是React.js的一大特色。

什么是声明式编程?

声明式编程是一种编程范式,它关注的是你要做什么,而不是如何做。它表达逻辑而不显式地定义步骤。这意味着我们需要根据逻辑的计算来声明要显示的组件。它没有描述控制流步骤。声明式编程的例子有HTML、SQL等

什么是函数式编程?

函数式编程是声明式编程的一部分。javascript中的函数是第一类公民,这意味着函数是数据,你可以像保存变量一样在应用程序中保存、检索和传递这些函数。

函数式编程的核心概念:

  • 不可变性(Immutability)
  • 纯函数(Pure Functions)
  • 数据转换(Data Transformations)
  • 高阶函数 (Higher-Order Functions)
  • 递归
  • 组合

体验 React

React 从诞生之初就是可被逐步采用的,因而你可以按需引入或多或少的 React 特性

用途:给简单的 HTML 页面增加一点交互,或者开始一个完全由 React 驱动的复杂应用。

编辑器

如果你对体验 React 感兴趣,可以尝试在线代码编辑器。从 CodePen 或 CodeSandbox 开始一个 React 版本的 Hello World 模版。

如果你喜欢使用自己的文本编辑器,也可以下载这个 HTML 文件,然后编辑文件内容,最后再用浏览器从本地文件系统打开文件,预览页面效果。注意:这个文件中包含一个低效率的运行时代码转换脚本,所以我们推荐仅在简单的演示项目中使用。

在网站中添加 React

你可以立即在 HTML 文件中添加 React,然后选择逐渐拓展它的应用范围,或只在一些动态小部件中使用它。

创建新的 React 应用

当你刚开始一个 React 应用时,通过 HTML 的 script 标签引入 React 依然是最好的选项,因为这能让你的项目立即启动。

但随着应用越来越大,可能会需要更加集成化的安装方式。推荐了一些 JavaScript 工具链,它们适合大型应用。它们只需很少甚至零配置,就能让你充分利用丰富的 React 生态。

react 就了解的差不多了,现在我们开始码农之旅了~~~~~

下一节我们就开始正是的学习了!

------------------------------------私人笔记,非盈利---------------------------------------