Skip to content
This repository was archived by the owner on Apr 8, 2020. It is now read-only.

redux store created AFTER router match while doing server-side rendering in ReactReduxSpa #663

Closed
HaraldMuehlhoffCC opened this issue Feb 11, 2017 · 3 comments

Comments

@HaraldMuehlhoffCC
Copy link

I'm using onEnter in some Route elements that require authentication. On client-side things just worked; when rendered on server I got exceptions. As it turned out I was trying to access login-related info in the redux store in the function called by onEnter and it wasn't configured yet by boot-server.tsx. A simple issue to correct once I found it. To help other poor souls it might be a good idea to move the configureStore() call before the match in the template so client and server-side work the same.

https://github.com/aspnet/JavaScriptServices/blob/dev/templates/ReactReduxSpa/ClientApp/boot-server.tsx

@KraigWalker
Copy link

KraigWalker commented Feb 11, 2017 via email

@HaraldMuehlhoffCC
Copy link
Author

@KraigWalker Thx for your comment. Actually the logic is executed also on the server-side ... and from what I understand about Route onEnter it's exactly the place to do things like authentication – and a redirect to login if not authorized (there are lot's of examples on the web). Once I moved the configureStore() in boot-server.tsx before the match things are working out as expected (redirectLocation is set and the login rendered)

@SteveSandersonMS
Copy link
Member

Thanks for the suggestion. This change is now made and will be included next time the templates are published.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants