Let's write baby redux
Submitted by Mihir Khatwani (@mihirkhatwani) on Thursday, 29 March 2018
Technical level: Intermediate
Redux is probably the most misunderstood library out there. A lot of big serious project codebases which use Redux end up looking like the Redux Documentation’s toy code examples. To para-phrase one of the Redux core contributors, the documentation examples are just for the sake of starting off with Redux and do not reflect a pattern in which Redux should be used in. In the workshop we will write our own baby redux clone and come up with different approaches/patterns it can be used for various use cases. The goal is to understand what redux is at a fundamental level, how it can be used more effectively as per use cases and how to be more creative while using it.
Everyone works in pairs.
Breakdown of Workshop activities
- Pairing up of participants
- A brief overview of 2 Design patterns
- Writing baby Redux clone
- Come up with different patterns it can be used in
- Discussion about the patterns in the documentation code examples
- Using your own Redux clone in an existing toy small react app (will be given)
- Breaking down some of the commonly (based off of participants picks) used Redux libraries
- Implementing 1 small common redux library per pair
Pre-Requisite of Participants:
- Experience working with React
- Redux experience optional
A computer with following things setup
- Node (LTS)
- Github Account
- Text Editor
- Internet Connection
To ramp-up a team of backend Java developers to start quickly contributing to a frontend React Redux project, I wrote a wrapper on redux which makes working with a React Redux App very similar to a Spring Boot backend project. Also a general hatred of writing code with if-elses and non pattern matching switch cases lead me to use Redux in various different structures. Both of the above activities lead me exploring Redux internals quite a lot.