ReactFoo Pune

On lessons learned during implementation.

Amit Erandole

Beyond Redux and MobX - A Functional approach to building React Apps

Submitted Nov 7, 2017

This talk presents a functional approach to state management using Andrew Clark’s Recompose toolset.


Do you know what kind of animal a function really is? I will show you powerful composition patterns that will blow your mind and get you started with thinking about state management as a pattern of component composition.

You will learn how you to add and remove state from your component without writing complex object heirarchies and manually managing state.

If you’ve been curious about writing powerful stateless components that can work with the React lifecycle, I’ll show you a way to ‘lift’ state into functional wrappers and keep your components focused on single responsibilities and free of complex logical responsibilities.

This workshop introduces a powerful set of practices to create stateless functional components that separate logic, data and presentation from your components.

Here is a preliminary outline:

  1. How functions break down user interfaces and programs
  2. How functions can be glued to create new functions
  3. How functional composition works
  4. Viewing React components as pure functions
  5. Composing React components with Ramda.js
  6. Injecting State with Recompose or Statty
  7. Injecting event handlers with Recompose
  8. Managing lifecycle events with Recompose
  9. Condition free components
  10. How functions make testing easier


Just have create react app installed with vscode

Speaker bio

Writer, Designer and Full Stack Developer
Trainer and Software Architect for React/Redux Projects

Amit builds websites, web applications and apis for mobile applications. He specializes in creating digital platforms for lead generation projects in the b2b online marketing space.

He is a hybrid web developer who loves to build desktop and mobile applications across multiple languages (ruby, php, javascript) and framework stacks (rails, laravel, react, vue, angular).

Amit also enjoy writing plugins and extensions for CMSes ( wordpress, craft cms) to help business websites integrate with third-party CRM and Analytics platform services.

He is also currently obsessed with functional programming and loves the functional side of the React stack. He is currently expanding his perspective on programming by learning elm and clojure.


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

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

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

A community - for and of - front-end engineers to share experiences with ReactJS, performant apps with React, crafting better User Interfaces (UI) with React and GraphQL ecosystem. ReactFoo also discusses design patterns and user experience. more