作者:creative-tim
转发链接:https://www.creative-tim.com/blog/web-development/create-single-page-application-using-react/
单页运用程序是具有在同一页面中内联加载的页面的网站。连续阅读以找到如何利用React创建单个页面运用程序的方法。

单页运用程序(SPA)实质上是一个网页,该网页通过利用从Web做事器获取的数据重写当前网页来与Web浏览器动态交互。因此,在单页面运用程序中,网页不会在其运行时重新加载页面,而是在浏览器中事情。
单页运用程序与多页运用程序单页申请重新加载:单页运用程序在浏览器中运行,并且在实行网页期间不须要重新加载页面。
UI / UX :通过肃清等待韶光和页面重新加载来模拟浏览器的自然环境,从而供应出色的用户体验。它由一个网页组成,该网页利用JavaScript加载所有内容。它独立地要求标记和数据,并将页面直接呈现给浏览器。
示例:Gmail,Google Maps,Facebook,GitHub。
多页申请重新加载:多页运用程序以传统办法事情,个中每次变动(例如显示数据或将数据提交回做事器)都会从做事器呈现新页面。
UI / UX :多页面运用程序是具有大量内容的较大运用程序,因此与单页面运用程序比较,用户体验受到限定。
示例:eBay和亚马逊
为什么选择单页运用程序?选择单页运用程序(SPA)的好处是:
SPA更快,由于所有网页资源在全体运用程序中仅加载一次,并且数据是唯一传输的资源。SPA在发送一个要求,存储所有数据并纵然在脱机时也可以利用时有效地缓存本地存储。SPA简化并简化了开拓活动,由于它无需编写代码即可在做事器上呈现页面。利用Chrome可以轻松调试SPA,由于可以调查页面元素并监视网络操作。什么时候不该用单页运用程序?只管SPA确实具有其上风,但在某些情形下不适宜利用它:
SEO:由于SPA的内容是由AJAX(异步JavaScript和XML)加载的,因此优化SPA的SEA既困难又棘手。因此,SPA不适宜SEO对付业务成功至关主要的情形。 Javascript:哀求用户启用Javascript才能精确加载运用程序和操作。因此,它不适用于可能在用户端禁用JavaScript的实例。 安全性:与MPA比较,SPA的安全性也较差,因此不适用于高度敏感的运用程序。SPA具有跨站点脚本(XSS),许可攻击者将客户端脚本注入Web运用程序。慢:虽然SPA在运行时的用户体验很快,但***速率较慢,如果JavaScript中存在内存泄露,也会降落速率。因此,它不适用于具有大量数据的大型运用程序。如何利用React构建单页运用程序?要利用React构建单个页面的运用程序,请遵照以下步骤:
1.利用以下命令在所需位置创建一个React运用:
npx create-react-app运用名称
利用以下默认文件创建一个名为app-name的目录:
运用名称
├──README.md
├──node_modules
├──package.json
├──.gitignore
├──"大众
│├──favicon.ico
│├──index.html
│├──logo192.png
│├──logo512.png
│├──manifest.json
│└──robots.***
└──src
├──App.css
├──App.js
├──App.test.js
├──index.css
├──index.js
├──logo.svg
└──serviceWorker.js
2. 通过实行以下命令,安装react-router-dom来路由要求:
npm install react-router-dom
3.包装App组件。
React路由器有两种类型,BrowserRouter(使URL类似于example.com/about)和HashRouter(使URL类似于example.com/#/about)。在此示例中,我们将利用BrowserRouter并将其包装App组件。
您的src / index.js文件应包含以下代码:
从'react'导入React
从'react-dom'导入{render}
从'react-router-dom'导入{BrowserRouter}
从“ ./App”导入运用
渲染(
<BrowserRouter>
<App />
</ BrowserRouter>,
document.querySelector('#root')
)
4. 利用以下代码创建一个名为src / pages / HomePage.js的文件:
从“反应”导入React;
导出默认功能HomePage(){
返回(
<>
<h1>您好,首页</ h1>
<p>这是您超赞的首页字幕</ p>
</>
);
}
5. 利用以下代码创建一个名为src / pages / UserPage.js的文件:
从“反应”导入React;
从“ react-router-dom”导入{useParams};
导出默认功能UserPage(){
让{id} = useParams();
返回(
<>
<h1>您好,用户{id} </ h1>
<p>这是您的“用户资料”页面</ p>
</>
);
}
6.利用Switch and Route决定并合并要利用的路由器。交流机将所有路由组合在一起,并确保它们从上到下都具有优先权。路线,而另一方面,定义各个路线。
您的App.js文件应包括确定的路线。
从'react'导入React
从“ react-router-dom”导入{Route,Switch}
//我们稍后将创建这两个页面
从“ ./pages/HomePage”导入主页
从“ ./pages/UserPage”导入UserPage
导出默认函数App(){
返回(
<开关>
<路由精确路径=” /” component = {HomePage} />
<Route path =” /:id”组件= {UserPage} />
</ Switch>
)
}
上面的代码将根路由(/)匹配到HomePage,并将其他页面动态匹配到UserPage。
7.利用链接链接到SPA中的页面。
在src / pages / HomePage.js文件中,包含以下代码:
从'react'导入React
从“ react-router-dom”导入{链接}
导出默认功能HomePage(){
返回(
<div className =“容器”>
<h1>主页</ h1>
<p>
<链接到=” /您想要的链接”>您想要的链接。</ Link>
</ p>
</ div>
)
}
现在,您可以运行代码并查看位于http:// localhost:3000的开拓做事器。
末了的想法伙计们,到此为止!
我希望本文能帮助您利用React启动项目。
作者:creative-tim
转发链接:https://www.creative-tim.com/blog/web-development/create-single-page-application-using-react/