react-8 react-router-dom 的简单使用(3)

本文介绍如何在React项目中使用react-router-dom模块的Link组件实现首页按钮点击跳转功能。通过修改home.js文件,引入Link组件并设置三个按钮对应的路由,实现点击简介、功能、展示按钮分别跳转到相应页面。

在上一篇中,我们实现了项目默认进入首页,然后手动修改页面地址,显示相应的页面;

现在我们实现下面的功能,进入项目,默认显示首页,首页中有三个按钮,点击相应的按钮,跳转到相应的页面;

 

我们需要做的是在上一篇项目的基础上增加点处理就可以了,我们使用上一篇中的所有代码;

 

现在默认显示的页面是 home,我们打开home.js 文件:

import React from 'react';
import './home.css'


export default class Home extends React.Component {
    render(){
        return(
            <div>我是首页文件</div>
        )
    }
}

我们修改上面的代码如下:

引入react-router-dom 模块的 Link 组件,然后设置三个按钮点击跳转的路由

import React from 'react';
import './home.css'
import {Link} from 'react-router-dom';


export default class Home extends React.Component {
    render(){
        return(
            <div className="home">
                <Link to="/Intro"><div className="home-block">简介</div></Link>
                <Link to="/Func"><div className="home-block">功能</div></Link>
                <Link to="/Show"><div className="home-block">展示</div></Link>
            </div>
        )
    }
}

修改完成之后,直接测试即可,

点击简介,会显示简介的页面,其余同理;

### 两者的主要区别 `npm install react-router-dom` 和 `npm i react-router` 是两个用于安装不同版本和用途的 React 路由库的命令。以下是它们之间的主要区别: #### 1. **适用平台** - `react-router-dom` 是专门为 Web 平台设计的路由库[^1]。它提供了与浏览器交互的功能,例如 `BrowserRouter`、`HashRouter` 等组件。 - `react-router` 是一个更通用的核心库,适用于所有平台(包括 Web、Native 等)。它是 `react-router-dom` 和 `react-router-native` 的基础[^3]。 #### 2. **依赖关系** - 安装 `react-router-dom` 时,`react-router` 会被作为其依赖项自动安装[^1]。因此,`react-router-dom` 包含了 `react-router` 的功能,并在此基础上添加了针对 Web 的特定功能。 - 如果单独安装 `react-router`,则不会包含任何特定于 Web 或 Native 的功能,需要根据需求手动选择其他扩展包(如 `react-router-dom` 或 `react-router-native`)[^3]。 #### 3. **功能差异** - `react-router-dom` 提供了专门用于 Web 开发的组件,例如 `BrowserRouter` 和 `HashRouter`,这些组件利用了浏览器的历史 API 和 URL 哈希值来管理路由[^2]。 - `react-router` 只提供核心功能,例如 `MemoryRouter` 和 `Prompt` 等,不包含任何与浏览器或原生环境相关的特定实现[^4]。 #### 4. **安装命令** - `npm install react-router-dom`:安装 `react-router-dom` 及其依赖项 `react-router`。 - `npm i react-router`:仅安装核心库 `react-router`,不包含任何平台特定的功能。 #### 示例代码 以下是一个使用 `react-router-dom` 的简单示例: ```javascript import React from &#39;react&#39;; import { BrowserRouter as Router, Route, Switch } from &#39;react-router-dom&#39;; function App() { return ( <Router> <Switch> <Route path="/" component={Home} /> </Switch> </Router> ); } export default App; ``` 而如果使用 `react-router`,则需要手动选择合适的路由器组件,例如 `MemoryRouter`: ```javascript import React from &#39;react&#39;; import { MemoryRouter as Router, Route, Switch } from &#39;react-router&#39;; function App() { return ( <Router> <Switch> <Route path="/" component={Home} /> </Switch> </Router> ); } export default App; ``` ### 结论 对于 Web 开发,推荐使用 `react-router-dom`,因为它包含了所有必要的 Web 特定功能[^2]。而对于跨平台开发或需要自定义路由器的情况,可以选择安装 `react-router` 并根据需求扩展其功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值