React-Redux Hooks With Typescript

This page summarizes the projects mentioned and recommended in the original post on /r/programming

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • typesafe-actions

    Typesafe utilities for "action-creators" in Redux / Flux Architecture

  • Actually implementing a separate interface or type per action gets clunky; that's where adding libraries can help. typesafe-actions is an easy, quality library that I've used for this on a previous project. reduxjs-toolkit is even better; it provides some more structure and several useful features. As a bonus, it includes Immer built in.

  • redux-toolkit

    The official, opinionated, batteries-included toolset for efficient Redux development

  • Actually implementing a separate interface or type per action gets clunky; that's where adding libraries can help. typesafe-actions is an easy, quality library that I've used for this on a previous project. reduxjs-toolkit is even better; it provides some more structure and several useful features. As a bonus, it includes Immer built in.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Immer

    Create the next immutable state by mutating the current one

  • Destructuring and recreating the state object per action within rootReducer works (e.g., {...state, name: action.payload.name || ''}), but as your reducers get more complicated, it can become unpleasant. That's where Immer helps: Immer lets you write normal mutating code (e.g., (draftState.name = action.payload.name || ''), then it takes care of figuring out how to represent that as a new object.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts