React Beyond a Todo App
Alex Moldovan
Full Stack Developer @ Fortech
medium.com/@alexnm
@alexnmoldovan
github.com/alexnm/react-workshop
React
Model
View
Controller
UI State
Application State
Business Logic
Event Handling
COMPONENTS
FLUX
Flux
Action
Dispatcher
Store
View
Event
Emitter
State
Presentation
Redux
View
Action
Store
Reducer
Let's look at some code!
Tooling
Tasks
Project Structure
Component Best Practices
Ducks
Redux Middlewares
M1
M2
M3
dispatch( action )
( store ) => ( next ) => ( action ) => ...
prev state
prev state
prev state
next( action )
next( action )
dispatch*
next state
next state
next state
Routing
Server Side Rendering
Browser
Server
API
request
fetch
match route
create store
render dom to string
serialize state
HTML
data
json state
deserialize state
initialize react
(client.js)
(server.js)
check prerequisites
create store
Forms
Authentication
Notifications
Side Effects
Let's code!
Part 1 - Product Details
git checkout initial
- create route with product id as param
- implement duck & product page
- link product page from product list
- set meta tags for details page
- implement server side render with prefetch for the details page
Part 2 - Shopping Cart
git checkout intermediate
- create route for cart (auth users only)
- add to cart button on product detail
- implement cart page (with ability to remove item)
- add a notification when an item is added and/or removed
- move cookie token read logic to server side render
- create a custom middleware for storing the cart in the localStorage
Thank you!
We speak js 2016 - React Beyond a TodoApp
By Alex Moldovan
We speak js 2016 - React Beyond a TodoApp
- 929