gpt4 book ai didi

reactjs - React Router v4 基本名称和自定义历史记录

转载 作者:行者123 更新时间:2023-12-03 13:18:13 25 4
gpt4 key购买 nike

我想为我的路由分配一个基本名称,我可以使用 BrowserRouter 来实现。

但是,我还想指定自定义历史记录,以便我可以以编程方式导航我的用户。我可以用路由器做到这一点。

但是我不能两者都做。是否可以扩展其中一个路由器以支持此功能或将其包装功能以添加此功能?

我当前的设置是这样的 -

import React from 'react';
import { Router, Switch, Route, Redirect } from 'react-router-dom';

import createHistory from './history';

import Navigation from './components/navigation/Navigation';

import PrivateRoute from './components/private-route/PrivateRoute';

import Home from './containers/home/Home';
import PageTwo from './components/pageTwo/PageTwo';
import Callback from './components/callback/Callback';
import Login from './components/login/Login';

export default () => (
<Router history={createHistory}>
<div>
<Navigation />
<Switch>
<Route path="/callback" component={Callback} />
<Route path="/login" component={Login} />
<PrivateRoute path="/" exact component={Home} />
<PrivateRoute path="/page-two" component={PageTwo} />
<Redirect to="/" />
</Switch>
</div>
</Router>
);

但是我很想实现一些目标,例如 -

<Router history={createHistory} basename="foo">

最佳答案

You can :

<BrowserRouter basename="/your/app">
<App/>
</BrowserRouter>

或者直接配置history对象:

import { Router } from 'react-router';
import createBrowserHistory from 'history/createBrowserHistory';

const history = createBrowserHistory({ basename: '/your/app' });

<Router history={history}>
<App />
</Router>

关于reactjs - React Router v4 基本名称和自定义历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47580538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com