나는 새로운 반응을 시작 라우터 dom v5,또한 영어가 나쁜 것입니다. 사전에 감사를 위해합니다.
나의 문제: 저는 2 주 노선에 나 App.js 로
import { Suspense } from 'react';
import {BrowserRouter as Router, Switch, Route} from 'react-router-dom'
/* Pges */
import AdminContainer from './Pages/Admin/AdminContainer';
import PublicContainer from './Pages/Public/PublicContainer';
import NotFound from './Pages/NotFound'
import AuthContainer from './Pages/Auth/AuthContainer';
/* Protected Route */
/* Helpers */
function App() {
console.log("APP")
return (
<Suspense fallback={(<p>Loading</p>)}>
<Router>
<Switch>
<Route path="/auth" component={AuthContainer} />
<Route path="/admin" component={AdminContainer} />
<Route path="/*" component={PublicContainer} />
<Route path="*" component={NotFound} />
</Switch>
</Router>
</Suspense>
)
}
export default App;
이 authcontainer2 위로 "/로그인" "/회원 가입"
import React from "react";
import {
BrowserRouter as Router,
Switch,
Route,
withRouter
} from "react-router-dom";
// PAGES
import Signin from "../Auth/Signin";
import Signup from "../Auth/Signup";
const AuthContainer = () => {
console.log("AUTH")
return (
<div>
<Router>
<Switch>
<Route exact path="/auth" component={Signin}/>
<Route exact path="/auth/signin" component={Signin}/>
<Route exact path="/auth/signup" component={Signup}/>
</Switch>
</Router>
</div>
);
};
export default withRouter(AuthContainer);
다음 내 publiccontainer3 위로 "/" "/"제품 "/mycart"
/* Dependencies */
import { Route, Switch, BrowserRouter as Router } from 'react-router-dom'
/* Components */
import Header from "../../Components/Header"
import Products from "./Products"
import Home from "./Home"
import UserProfile from "../User/AccountProfile"
import MyCart from '../Public/MyCart'
const PublicContainer = () => {
console.log("PUBLIC")
return (
<div>
<Router>
<Header />
<Switch>
<Route exact path='/' render={(props) => <Home />} />
<Route exact path='/products' render={(props) => <Products />} />
<Route exact path='/mycart' render={(props) => <MyCart isAuth={false} />} />
</Switch>
</Router>
</div>
)
}
export default PublicContainer
my cart 구성 요소만을 렌더링하는 경우 isAuth 사실,다른 사람으로 리디렉션됩니다"/auth/로그인"
import React from 'react'
import { Redirect } from 'react-router'
const MyCart = ({isAuth}) => {
if(!isAuth)
return (<Redirect from='*' to='/auth/signin'></Redirect>)
return (
<div>
my cart
</div>
)
}
export default MyCart
문제는 그것의 노력을 리디렉션"/auth/로그인"하지만 그것은 여전히"/"페이지
할 때 내가 다시 그것을 마지막으로 리디렉션"/auth/로그인"
어떻게 하면 이 문제를 해결할 수 있는 문제,나는 당신의 도움이 정말 감사합
업데이트
그런데 나는 생각 때 mycart isAuth 은 거짓 다음을 시도에 대한 링크를/auth/로그인 원인에서 링크를 위 url 을 올바르게 지점 auth 로그인,하지만 그 후에 그것을 검사 subroutes 의 publiccontainer 대신 확인 app.js 노선
그러나 때 나는 다시 그것은,그것을 검색을 시작하는 올바른 경로에서 app.js 로 반환하는 예상되는 경로 및 페이지에서 로그인