- Enterprise grade system
- High performance
- Decouple frontend and backend
- Easy to maintain (decoupled module), reduced complexity
- Easy to scale
- Highly resuable components
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=Navigating= | |
visit('/projects') | |
visit(post_comments_path(post)) | |
=Clicking links and buttons= | |
click_link('id-of-link') | |
click_link('Link Text') | |
click_button('Save') | |
click('Link Text') # Click either a link or a button | |
click('Button Value') |
- Define nested Schema
- Saga middleware detect a _REQUEST Action, which trigger a API request
- API request success trigger a _REQUEST_SUCCESS Action, api client get API response, map it with model to be normalized to, if the match found, normalizer flatten the nested JSON objects into flat entities structure, then send to store
- Redux store puts the normalized entities in place automatically
- ?? We need to manually update associated key to parent object, can this be automated?
- When passing data from Store to Container, we denormalize the objects by recursively looking into the key -> object mapping, reassemble the parent object. If any child object is missing, we report a error in console