mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-22 17:47:53 +00:00
React template w/out Redux - how to handle global state? #337
Closed
opened 2025-08-09 17:15:54 +00:00 by fergalmoran
·
0 comments
No Branch/Tag Specified
master
rybrande/masterToSrc
pakrym/no-console-fb
release/2.2
pakrym/remove-obsole-api-usage
maestro/release/2.2
maestro/master
release/2.1
release/2.0
rybrande/MergeRelease21IntoDev
rel/2.0.0-extensions
angular-animations-example
fix-angular-material-publishing
rel/2.0.0-templates
httpwithstatetransfer-example
rel/2.0.0-preview2-templates
aspnet-webpack-react-2.x
angular4-prerender-data-example
version-1.x
angular2-lazy-loading-example
581-isomorphic-react-cookies-example
example-using-typescript-paths-for-494
v1.0.x
angular2-materialize-example
redux-typed-1-x
primeng-example
font-awesome-example
karma-testing-example
2.2.0
2.2.0-preview3
2.2.0-preview2
2.2.0-preview1
2.1.1
2.1.0
2.0.4
2.1.0-rc1-final
2.1.0-preview2-final
2.0.3
2.1.0-preview1-final
2.0.2
2.0.1
rel/2.0.0
rel/2.0.0-preview2
Labels
Clear labels
2 - Working
2 - Working
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
angular
angular
angular
angular
angular
bug
bug
bug
bug
bug
bug
bug
bug
bug
core
core
core
core
core
core
core
duplicate
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
external
external
P1
P1
P1
P1
P1
P1
P2
P2
P2
P2
P2
P2
P2
P2
P2
PRI: 1 - Required
react
react
task
task
up-for-grabs
up-for-grabs
up-for-grabs
waiting
waiting
waiting
waiting
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
fergalmoran
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/JavaScriptServices#337
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rgamage on 11/1/2017
I've been working with the react SPA template, without Redux, and I like it very much. However, when I tried to add a very simple top level App component, in which I could store some simple global state information, it became very complicated very quickly. I solved my initial problem of how to add this top level component: it is documented here in this stackoverflow question:
https://stackoverflow.com/questions/47027535/need-help-configuring-react-hot-loader
I was able to successfully pass state from my new App component, down to the Layout component. I was very happy, until I tried to then pass that state down to the child components (Counter, Fetchdata, etc.). Because these are Route components, it is not possible to pass props to them in the normal way. I've tried many complex work-arounds for this issue, with no satisfying outcome.
I am left with the sad conclusion that I can have an app with shared state, OR with routing, but not both. This seems pretty silly, and I'm sure I'm missing something but I've spent a lot of time struggling with this simple issue with no success.
I know I can use the React with Redux template, but I really want to wait on that until I feel it's justified. If all I want is for every component to know the username and if they're logged in, and maybe a few other global state variables, the Redux solution seems like overkill. Surely there must be a way to share global state with all components, easily, with routing and without Redux? I have read all the react documentation on Router, the react tutorials, and several Pluralsight tutorials. None of them seem to address this simple issue.
Thanks for any advice. Sorry this is a little off topic, but since this all started with this template, I thought perhaps there may be someone with answers here. Another struggle relating to this template is that all examples I have found are in .js, not .ts, and it really makes it difficult to move forward because of that difference.
Thanks again.