Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[How to add NgRx] - NgRx Store & App State handling #259

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

[How to add NgRx] - NgRx Store & App State handling #259

wants to merge 9 commits into from

Conversation

hakonamatata
Copy link
Contributor

Added ngrx/store

  • Changed the counter component to use ngrx store instead
  • Router state saved as global state
  • Tested with AOT and server rendering, it works!
  • Updated readme to include an image of redux dev tools in action

Take and remove what you like @MarkPieszak 馃槈

@pjmagee
Copy link

pjmagee commented Jun 28, 2017

Where would you rehydrate the store?

@estebanvega
Copy link

@pjmagee Could you use https://github.com/btroncone/ngrx-store-localstorage to rehydrate from localStorage. Should work with angular 4.x as well.

@estebanvega
Copy link

@hakonamatata @MarkPieszak would it be interesting to see an example of an XHR request to an REST API, which in turn updates the client store via something like https://github.com/ngrx/effects?

@pjmagee
Copy link

pjmagee commented Jul 10, 2017

@estebanvega @MarkPieszak but what about SSR since ngrx-store-localstorage has browser dependencies? Also what about authentication? When a user is authenticated and the site is refreshed, then authentication is lost from the store...and....do you really want to store that information in local storage? :)

Actually,, SSR seems so pointless right now, many third party components will just break if you have SSR enabled. Things like PrimeNG etc.

@MarkPieszak
Copy link
Member

A lot of those decisions (on what to pass down from server->client) and such you'd need to decide for your project what's important to do that with, and what you can live without rendering on the server (and let it just happen on the client).

PrimeNG unfortunately entangled their library into the DOM instead of using Renderer and other abstractions provided :/

On the bright side though! We are working on adding a mocking layer over the window/document/etc so that it will be more flexible and hopefully better accommodate libraries that are accidentally (or not) using the DOM, so that they will still be able to Render in a server-render. 馃憤

@MarkPieszak MarkPieszak changed the title NgRx/store state handling [How to add NgRx] - NgRx Store & App State handling Aug 19, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants