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?










share|improve this question






















  • 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















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?










share|improve this question






















  • 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













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?










share|improve this question













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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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


















  • 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

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















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






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














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





















































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







Popular posts from this blog

Florida Star v. B. J. F.

Danny Elfman

Lugert, Oklahoma