为什么 React Js 被称为单页应用程序

Kni*_*ler 10 single-page-application reactjs

我经常听到和看到关于 React 是单页应用程序的帖子,但从来不明白什么是 SPA,很多人说它不会重新加载页面,但我不明白为什么,所以你们能用简单的例子解释一下吗?

小智 18

单页应用程序是一种Web 应用程序或网站,它通过使用来自 Web 服务器的新数据动态重写当前网页来与 Web 浏览器进行交互,而不是浏览器加载整个新页面的默认方法。

这意味着您网站的 URL 不会完全更改(页面不会重新加载),而是会不断获取内容并用其重写 DOM,而不是加载新页面。

The goal is faster transitions that make the website feel more like a native app
Run Code Online (Sandbox Code Playgroud)

示例:Netflix

在此输入图像描述 这是仪表板,当我们单击任何电影时,它会更改为 /watch 并且内容会被重写。 在此输入图像描述

用技术术语来说:

当构建你的react-app时,你可以看到只有一个App.js,你的整个Web应用程序都从其中加载到片段和组件中。这种在单个页面上渲染组件和页面并更改 DOM 的行为(是单页面行为,因此得名),而不是加载包含新内容的新页面,这使得它感觉像单个应用程序。

  • 我从来不同意这个命名。我将其称为“反向导航应用程序”,因为导航是在客户端上管理的,浏览器仍然导航到不同的资源,有时还会下载其他资源,就像 ASP.NET MVC 页面或 Web 表单页面一样。 (3认同)

Den*_*ash 7

正如React 术语表中提到的:

页应用程序是加载单个 HTML 页面以及应用程序运行所需的所有必要资源(例如 JavaScript 和 CSS)的应用程序。与页面或后续页面的任何交互都不需要往返服务器,这意味着页面不会重新加载。

关于“为什么 React Js 被称为单页应用程序”:

尽管您可以在 React 中构建单页应用程序,但这不是必需的。React 还可以用于增强现有网站的一小部分,并具有额外的交互性。用 React 编写的代码可以与 PHP 等在服务器上呈现的标记或其他客户端库和平共处。事实上,这正是 Facebook 使用 React 的方式。