ReactFoo Mumbai

On React, alternatives to React, ReactNative and front-end engineering

Let's write baby redux

Submitted by Mihir Khatwani (@mihirkhatwani) on Mar 29, 2018

Technical level: Intermediate Status: Under evaluation


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)
  • Git
  • Github Account
  • Text Editor
  • Internet Connection

Speaker bio

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.


{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}