Hey all! How would you model a shopping cart with React Hooks? Here's how I would do it!
The main things to look at:
- This is written in Typescript, to assist the gist also contains the same code in JavaScript.
- The Types!
- An order is Tuple of an
ID(which is astring) and aQuantity(which is anumber). - The
Cartis aRecord, which is an object where the keys are the itemIDs and the values are theirQuantity.
- An order is Tuple of an
- The reducer for
useReducerdoesn't take a Flux Standard Action! 🤯😱 Let's keep things less complex! Here our reducer is just taking ourOrdertuples, and reducing theCartfrom that. - We have two effects we run in our
useShoppingCarthook.- First, we fetch the saved cart from the server, and add all those items to the cart
- Second, every time the cart updates we POST that to the server. We keep track of the
savedanderrorstatus withuseState. - Could we save the cart before we fetch the cart? I dunno! Maybe?
If shopping carts aren't your thing, but you like this style, leave a comment with what hooks snippet I should write next!
Top comments (0)