React Router doesn't render component with
up vote
1
down vote
favorite
I have a pretty simple example and I'm sure I'm doing something wrong, but I can't make my navigate the user back to my homepage. It will render the homepage fine (which is a PostCollection) when I refresh the page on /, but my Link which navigates back to / from other components does not work. It is simply updating the url in the url bar, but not loading the other component.
Example Code, truncated for brevity:
const App:React.SFC = () => {
return (
<Provider store={store}>
<Router basename={ROUTE_ROOT}>
<>
<Header/>
<MainContainer>
<Switch>
<Route path='/' exact component={PostCollection}/>
<Route path='/page/:page' exact component={PostCollection}/>
<Route path='/:year/:month/:day/:post' exact component={Post}/>
</Switch>
</MainContainer>
<Footer/>
</>
</Router>
</Provider>
);
};
export default App;
Then in my Header component as shown in my main App:
const Header:React.SFC = () => {
return (
<header className="flex">
<Link to='/'>
Go Home
</Link>
</header>
);
};
export default memo( Header );
The simple here only updates the url to my root, but does not rerender with my PostCollection component. Can anyone see what I'm doing wrong?
javascript reactjs react-router react-router-v4 react-router-dom
add a comment |
up vote
1
down vote
favorite
I have a pretty simple example and I'm sure I'm doing something wrong, but I can't make my navigate the user back to my homepage. It will render the homepage fine (which is a PostCollection) when I refresh the page on /, but my Link which navigates back to / from other components does not work. It is simply updating the url in the url bar, but not loading the other component.
Example Code, truncated for brevity:
const App:React.SFC = () => {
return (
<Provider store={store}>
<Router basename={ROUTE_ROOT}>
<>
<Header/>
<MainContainer>
<Switch>
<Route path='/' exact component={PostCollection}/>
<Route path='/page/:page' exact component={PostCollection}/>
<Route path='/:year/:month/:day/:post' exact component={Post}/>
</Switch>
</MainContainer>
<Footer/>
</>
</Router>
</Provider>
);
};
export default App;
Then in my Header component as shown in my main App:
const Header:React.SFC = () => {
return (
<header className="flex">
<Link to='/'>
Go Home
</Link>
</header>
);
};
export default memo( Header );
The simple here only updates the url to my root, but does not rerender with my PostCollection component. Can anyone see what I'm doing wrong?
javascript reactjs react-router react-router-v4 react-router-dom
This usually happens when you're using other Higher Order Components in conjunction with React Router. Is that the case?
– Colin
Nov 10 at 19:12
I have a redux provider wrapped around it, but that's it. Could this be causing issues?
– jas7457
Nov 10 at 19:27
Yeah, try changing the order of wrapping, that might fix it.
– Colin
Nov 10 at 19:28
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have a pretty simple example and I'm sure I'm doing something wrong, but I can't make my navigate the user back to my homepage. It will render the homepage fine (which is a PostCollection) when I refresh the page on /, but my Link which navigates back to / from other components does not work. It is simply updating the url in the url bar, but not loading the other component.
Example Code, truncated for brevity:
const App:React.SFC = () => {
return (
<Provider store={store}>
<Router basename={ROUTE_ROOT}>
<>
<Header/>
<MainContainer>
<Switch>
<Route path='/' exact component={PostCollection}/>
<Route path='/page/:page' exact component={PostCollection}/>
<Route path='/:year/:month/:day/:post' exact component={Post}/>
</Switch>
</MainContainer>
<Footer/>
</>
</Router>
</Provider>
);
};
export default App;
Then in my Header component as shown in my main App:
const Header:React.SFC = () => {
return (
<header className="flex">
<Link to='/'>
Go Home
</Link>
</header>
);
};
export default memo( Header );
The simple here only updates the url to my root, but does not rerender with my PostCollection component. Can anyone see what I'm doing wrong?
javascript reactjs react-router react-router-v4 react-router-dom
I have a pretty simple example and I'm sure I'm doing something wrong, but I can't make my navigate the user back to my homepage. It will render the homepage fine (which is a PostCollection) when I refresh the page on /, but my Link which navigates back to / from other components does not work. It is simply updating the url in the url bar, but not loading the other component.
Example Code, truncated for brevity:
const App:React.SFC = () => {
return (
<Provider store={store}>
<Router basename={ROUTE_ROOT}>
<>
<Header/>
<MainContainer>
<Switch>
<Route path='/' exact component={PostCollection}/>
<Route path='/page/:page' exact component={PostCollection}/>
<Route path='/:year/:month/:day/:post' exact component={Post}/>
</Switch>
</MainContainer>
<Footer/>
</>
</Router>
</Provider>
);
};
export default App;
Then in my Header component as shown in my main App:
const Header:React.SFC = () => {
return (
<header className="flex">
<Link to='/'>
Go Home
</Link>
</header>
);
};
export default memo( Header );
The simple here only updates the url to my root, but does not rerender with my PostCollection component. Can anyone see what I'm doing wrong?
javascript reactjs react-router react-router-v4 react-router-dom
javascript reactjs react-router react-router-v4 react-router-dom
asked Nov 10 at 17:47
jas7457
988512
988512
This usually happens when you're using other Higher Order Components in conjunction with React Router. Is that the case?
– Colin
Nov 10 at 19:12
I have a redux provider wrapped around it, but that's it. Could this be causing issues?
– jas7457
Nov 10 at 19:27
Yeah, try changing the order of wrapping, that might fix it.
– Colin
Nov 10 at 19:28
add a comment |
This usually happens when you're using other Higher Order Components in conjunction with React Router. Is that the case?
– Colin
Nov 10 at 19:12
I have a redux provider wrapped around it, but that's it. Could this be causing issues?
– jas7457
Nov 10 at 19:27
Yeah, try changing the order of wrapping, that might fix it.
– Colin
Nov 10 at 19:28
This usually happens when you're using other Higher Order Components in conjunction with React Router. Is that the case?
– Colin
Nov 10 at 19:12
This usually happens when you're using other Higher Order Components in conjunction with React Router. Is that the case?
– Colin
Nov 10 at 19:12
I have a redux provider wrapped around it, but that's it. Could this be causing issues?
– jas7457
Nov 10 at 19:27
I have a redux provider wrapped around it, but that's it. Could this be causing issues?
– jas7457
Nov 10 at 19:27
Yeah, try changing the order of wrapping, that might fix it.
– Colin
Nov 10 at 19:28
Yeah, try changing the order of wrapping, that might fix it.
– Colin
Nov 10 at 19:28
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53241752%2freact-router-doesnt-render-component-with-link-to%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
This usually happens when you're using other Higher Order Components in conjunction with React Router. Is that the case?
– Colin
Nov 10 at 19:12
I have a redux provider wrapped around it, but that's it. Could this be causing issues?
– jas7457
Nov 10 at 19:27
Yeah, try changing the order of wrapping, that might fix it.
– Colin
Nov 10 at 19:28