2017-11-30 2 views
1

내 경로에 브라우저 이름을 할당하고 싶습니다. BrowserRouter로 할 수 있습니다.React Router v4 baseName 및 사용자 정의 기록

그러나 프로그래밍 방식으로 내 사용자를 탐색 할 수 있도록 사용자 지정 기록을 지정하고 싶습니다. 라우터로 할 수있는 일.

하지만 둘 다 할 수는 없습니다. 이것을 지원하기 위해 라우터 중 하나를 확장하거나이 기능을 추가 할 수 있습니까?

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

또는 직접 history을 구성하는 방법 : -

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"> 

답변

3

You can

내 현재 설정이가 대상 :

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

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

<Router history={history}> 
    <App /> 
</Router> 
관련 문제