理解 React.js 中的链接

发布日期:2026-07-02 12:14:04   来源 : 杭州电子商务研究院    浏览量 :11
杭州电子商务研究院 发布日期:2026-07-02 12:14:04  
11

介绍

链接在网络上无处不在。它们对于定位网页、图片和视频等资源至关重要——更不用说它们在 SEO 中的重要性了。路由有助于确定访问 URL 时应运行哪些代码。在本指南中,您将了解有关 React 中路由工作原理的更多信息。

React 中的链接

在没有 React 等库的常规应用中,链接是使用锚标签创建的,如下所示。

      <a href="https://pluralsight.com">Visit Pluralsight</a>
    

请记住,这在 React 中也有效。这种路由方法会导致整个页面刷新,而实际上新路由上唯一改变的可能只是一张图片和一些文本。在某些情况下,整个页面刷新很有用,但在大多数情况下,这是不必要的。React 是一个面向组件的库,它通过以树的形式跟踪元素并找出哪些组件需要重新渲染来实现一种简洁的算法。React Router 等库利用这一点来帮助您的应用根据指定的路由渲染需要重新渲染的组件。非常高效,不是吗?

简而言之,如果您的应用对所有页面使用相同的页眉和页脚,那么您可以确保只有页面主体重新渲染,而页眉和页脚保持完整。

构建示例应用程序

通过输入以下命令或在浏览器中输入react.new来设置 React 应用程序,以在codesandox.io上设置 React 开发环境

      npx create-react-app [YOUR_APP_NAME] && yarn add react-router-dom
    

将以下代码块添加到您的index.js 文件。

      import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
import {Homepage, Aboutpage } from './App';

ReactDOM.render(
    <Router>
       <Switch>
		      <Route exact path="/" component={Homepage}/>
				<Route exact path="/about" component={Aboutpage }/>
	    </Switch>
    </Router>,
    document.getElementById('root')
);
    

现在将以下代码片段添加到您的App.js文件中,以创建页面的组件。

      import React from 'react';
import { Link } from 'react-router-dom';

const Header = () => {
	return (
		<div>
				<p>Header</p>
		</div>
	)
};

const Homepage = () => {
	return (
		<div>
				<Header/>
				<h1>Homepage </h1>
				<Link to='/about'>Go to Aboutpage</Link>
		</div>
	)
};

const Aboutpage = () => {
	return (
		<div>
				<Header/>
				<h1>Aboutpage</h1>
				<Link to='/'>Go to Aboutpage</Link>
		</div>
	)
};
export {Homepage, Aboutpage } ;
    

运行您的开发服务器并在浏览器中打开您的应用。请注意,更改路由不会导致整个页面重新加载。

清理以避免不必要的渲染

您已利用路由为每个路由渲染特定组件。但某处存在问题 🤔。每次路由更改时, </Header>组件都必须渲染,但其内容不会更改。分别编辑您的App.jsindex.js文件,如下所示。

      import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
import {Homepage, Aboutpage, Header } from './App'; //new

ReactDOM.render(
    <Router>
       <Switch>
					<Header/> //new
		      <Route exact path="/" component={Homepage}/>
				<Route exact path="/about" component={Aboutpage }/>
	    </Switch>
    </Router>,
    document.getElementById('root')
);
    
      import React from 'react';
import { Link } from 'react-router-dom';

const Header = () => {
	return (
		<div>
				<p>Header</p>
		</div>
	)
};

const Homepage = () => {
	return (
		<div>
				<h1>Homepage </h1>
				<Link to='/about'>Go to Aboutpage</Link>
		</div>
	)
};

const Aboutpage = () => {
	return (
		<div>
				<h1>Aboutpage</h1>
				<Link to='/'>Go to Aboutpage</Link>
		</div>
	)
};
export {Homepage, Aboutpage , Header } ; //new
    

您所做的是确保当访问新路线时,它只会呈现相应的页面而不是标题,因为它很少改变状态。

结论

呼!就是这样。现在你应该了解了 React 中的链接概念以及如何有效地处理路由。

如果您想就此话题进行更多讨论,请随时在 Twitter 上联系我 @DesmondNyamador 。

了解更多

探索 Pluralsight 的这些 React 课程以继续学习:

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据