webpack 配置react脚手架(四):路由配置

1. 由于 react-router 是集成了 react-router-dom 和 react-router-native的一起的,所以这里要使用的是 react-router-dom,

2. 安装  npm i react-router -S 、 npm i react-router-dom -S

路由配置router.js:

import React from ‘react‘
import {
  Route
} from ‘react-router-dom‘

import TopicList from ‘../views/topic-list/index‘
import TopicDetail from ‘../views/topic-detail/index‘

export default () => [ //react 16 可以直接返回一个数组 不需要在外层加div
/* 这里路由为 ‘/’ 的要加上 exact。因为/路由最大,覆盖了/detail 等路由,不加设置的话,
所有的页面都会同时加载 / 的路由内容,所以加上 exact,规定只能严格等于该路由。
*/
  <Route path="/"  component={TopicList}   exact/>,
  <Route path="/detail" component={TopicDetail} key="detail" />,
]

对于最外层的入口文件 app.js

import React from ‘react‘
import ReactDOM from ‘react-dom‘
import { BrowserRouter } from ‘react-router-dom‘ //浏览器路由
import { AppContainer } from ‘react-hot-loader‘ // eslint-disable-line
import App from ‘./views/App‘//组件

const root = document.getElementById(‘root‘)
const render = (Component) => {
  ReactDOM.hydrate(
    <AppContainer>
        <BrowserRouter>
            <Component />
        </BrowserRouter>
    </AppContainer>,
    root,
  )
}

render(createApp(App))

if (module.hot) {
  module.hot.accept(‘./views/App‘, () => {
    const NextApp = require(‘./views/App‘).default // eslint-disable-line
    render(createApp(NextApp))
  })
}

使用 Redirect组件,可以在用户访问某个路由时,跳转到其他路由:

import React from ‘react‘
import {
  Route,
  Redirect,
} from ‘react-router-dom‘

import TopicList from ‘../views/topic-list/index‘
import TopicDetail from ‘../views/topic-detail/index‘

export default () => [
  <Route path="/" render={()=>{ <Redirect to ="/list"/>}}   exact/>,
  <Route path="/list" component={TopicList} />,
  <Route path="/detail" component={TopicDetail}/>,
]

原文地址:https://www.cnblogs.com/xiaozhumaopao/p/10999322.html

时间: 2024-08-30 14:59:18

webpack 配置react脚手架(四):路由配置的相关文章

react 脚手架 及路由和 redux

前提是我们需要下载 nodejs 使用 npm 下载 react 的脚手架,react-router-dom,redux 全局下载 react 的脚手架:npm i create-react-app -g 使用 react 脚手架创建一个 app 的项目:create-react-app app 根据指令进入 app 项目: cd app 下载 react 的路由插件:npm i react-router-dom -S 组件通信的优化: npm i redux -S 以上便是把我们的 react

静态路由配置案列

一.实验环境如下图 2.配置命令:静态路由配置命令Router(config)# ip route network mask {address|interface}● network:目的网络地址●mask:子网掩码●address:到达目的网络进过的吓一跳路由器的接口地址●interface:到达目的网络的本地接口地址 二.配置PC 和路由器的接口IP 地址1.分别配置PC1和PC2IP地址为 192.168.1.2/24 192.168.2.2/24 2.设置路由器R1端口地址 设置路由器R

使用亚马逊云服务器EC2做深度学习(四)配置好的系统镜像

这是<使用亚马逊云服务器EC2做深度学习>系列的第四篇文章. (一)申请竞价实例  (二)配置Jupyter Notebook服务器  (三)配置TensorFlow  (四)配置好的系统镜像 配置深度学习的环境是一个非常繁琐的过程.它要求你对Linux命令有一定地了解,与此同时各种深度学习库.驱动更新十分频繁,有可能明天教程里的安装脚本就不管用了. AMI AMI就是解决方法.AMI是可以直接在EC2启动的系统镜像,有的系统镜像已经配置好了使用GPU的深度学习环境,这样启动实例后,你就可以直

laravel4.2框架路由配置深入了解

laravel框架路由并不像YII或CI等框架那样有着固定的默认方式(路径,GET,POST来提取),因此在使用laravel框架时配置路由是必备的. 路由是通过配置注入到程序中,laravel路由非常灵活,不仅可以指定Controller对应的Action还可以完成很多的伪静太工作,在进入MVC前还可以做一些必要的参数过滤. 优点: 面向对象管理路由,配置灵活,可以针对不同的地址解析处理. 路由可过滤,分组提高路由调用精准安全. 路由执行不只针对MVC控制器,也可以写入其它自定义处理入口. 路

Spring Cloud(Dalston.SR5)--Zuul 网关-路由配置

Spring Cloud 在 Zuul 的 routing 阶段实现了几个过滤器,这些过滤器决定如何进行路由工作. 简单路由(SimpleHostRoutingFilter) 该过滤器运行后,会将 HTTP 请求全部转发到"源服务器",简单路由的配置如下: #zuul路由配置 zuul: routes: #表示http://localhost:9100/person/speaks地址,路由到http://localhost:8080/speaks person: path:/perso

OSPF路由配置

组网需求所有交换机运行ospf,将自治系统划分为3个区域,把SwitchA和B作为ABR来转发区域之间的路由,例图如下 第一步:配置各个接口的IP地址例如:vlan 100 port g 1/0/10quitint vlan 100ip add 10.1.1.2 24quit 第二步:给Switch A和B配置OSPF的基本配置例如:router id 10.2.1.1ospfarea 0network 10.1.1.0 0.0.0.255quit 第三步:验证配置在Switch D上使用pin

手把手教你webpack、react和node.js环境配置(上篇)

很多人刚学习react的时候,往往因为繁琐的配置而头疼,这里我将手把手教大家怎么用webpack配置react和redux的环境,这篇教程包括前端react和后台node整个网站的环境配置,对node没兴趣的可以只看这篇. 这里是下篇链接:手把手教你webpack.react和node.js环境配置(下篇) 我把所有代码都放到了github上面供参考:webpack-react-express环境配置 1. 什么是webpack? Webpack 是当下最热门的前端资源模块化管理和打包工具.它可

使用create-react-app 快速构建 React 开发环境以及react-router 4.x路由配置

create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + ES6 执行命令如下: npm install create-react-app -g // 全局安装create-react-app,如果不想全局安装,则不要-g.可能会很慢,可以使用cnpm来安装 create-react-app my-app // my-app是项目名 cd my-app np

使用webpack配置react并添加到flask应用

学习react,配置是很痛苦的一关,虽然现在有了create-react-app这样方便的工具,但是必须要自己配置一遍,才能更好地进行项目开发. 首先要明确一个概念:react的文件必须经过编译才能被浏览器识别,因此我们需要webpack这个打包工具来把react的组件打包成一个js文件,然后将这个js文件放到flask目录下,然后引入到flask模版的html文件里面.当然,你也可以在前端用express等服务进行客户端渲染,只将flask服务视为一个传递数据的api. 下面开始配置吧 1.如