0
반응 라우터 v4와 redux를 사용하여 개인 경로를 구현하려고하지만 어떤 이유로 렌더 소품이 null을 반환합니다. 누군가 내가 틀린 것을 알아 내도록 도와 주면 매우 감사 할 것입니다. 라우터 :반응 라우터 v4에서 렌더링 메서드가 null을 반환합니다.
const router = (
<Provider store={store}>
<BrowserRouter history={history}>
<App>
<Route exact path="/" component={UserGrid}/>
<Route path="/login" component={Login}/>
<Route exact path="https://stackoverflow.com/users/:userId" component={UserPage}/>
<Route path="/registration" component={RegistrationPage}/>
<TopSecretRoute path="/topSecret" component={SecretComponent}/>
</App>
</BrowserRouter>
</Provider>
TopSecretRoute.js :
const TopSecretRoute = ({ component: Component, ...rest }) => (
<Route {...rest} render={props => (
props.session.registered ? (
<Component {...props}/>
) : (
<Redirect to={{
pathname: '/login',
state: { from: props.location }
}}/>
)
)}/>
)
const stateToProps = ['session']
export default createContainer(stateToProps,TopSecretRoute)
감사합니다. 그것에 대해 알지 못해서 나중에 읽어 볼 것입니다. TopSecretRoute 구성 요소를 제거하고 더 높은 주문 구성 요소에 필요한 동작을 캡슐화하여 문제를 해결했습니다.이 구성 요소도 옵션입니다. – Umbrella
그래, 해결할 방법이 하나 이상 있습니다. 다행 했어. –