【发布时间】:2019-11-17 11:03:55
【问题描述】:
当我尝试时,LandingPage 会再次加载。该 URL 还显示 localhost:3000/list# 而不是 localhost:3000/list。我究竟做错了什么? 这是 index.js
import React from "react";
import ReactDOM from "react-dom";
import { createBrowserHistory } from "history";
import { Router, Route, Switch, HashRouter, Link } from "react-router-dom";
import "assets/scss/material-kit-react.scss?v=1.8.0";
import Components from "views/Components/Components.js";
import LandingPage from "views/LandingPage/LandingPage.js";
import ProfilePage from "views/ProfilePage/ProfilePage.js";
import LoginPage from "views/LoginPage/LoginPage.js";
import ListPage from "views/ListPage/ListPage.js";
let hist = createBrowserHistory();
ReactDOM.render(
<HashRouter history={hist}>
<Switch>
<Route path="/components" component={Components} />
<Route path="/profile-page" component={ProfilePage} />
<Route path="/login-page" component={LoginPage} />
<Route path="/" component={LandingPage} />
<Route path="/list" component={ListPage} />
</Switch>
</HashRouter>,
document.getElementById("root")
);
这是我希望用来打开新页面的按钮
<Button
style={styl}
color="success"
size="lg"
href="/list"
target="_blank"
rel="noopener noreferrer"
>
<i className="fas fa-cogs" />
Pick Parts
</Button>
我开始使用 CreativeTim 的 Material-UI 工具包,除了从按钮中删除一个 youtube 链接并添加 /list 以及在 Views 文件夹中创建一个新的视图 ListPage 之外,并没有真正改变任何东西,在 index.js 中给出页面的路径 它不起作用。登录和个人资料页面也没有。我究竟做错了什么?我需要添加一些东西来使它工作吗?
【问题讨论】:
-
不需要使用react-router带来的
Link组件(重定向)吗? -
尝试使用
Links 或props.history.push函数。
标签: reactjs react-router react-router-dom