ReactFoo Pune

On lessons learned during implementation.

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

Submitted by Amit Erandole on Tuesday, 7 November 2017

videocam_off

Technical level

Advanced

Section

Workshops

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +27

Abstract

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

Outline

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

Requirements

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.

Links

Comments

Login with Twitter or Google to leave a comment