How to Make Your React App Fully Functional, Fully Reactive, and Able to Handle All Those Crazy Side Effects

How to Make Your React App Fully Functional, Fully Reactive, and Able to Handle All Those Crazy Side Effects

In this article I’ll talk about redux-cycles, a Redux middleware that helps you to handle side effects and async code in your React apps in a functional-reactive way — a trait which is not yet shared by other Redux side effect models — by leveraging the Cycle.js framework.

Interesting observation on the declarative/reactive nature of the common side-effect libraries I’ve used with react previously. They solve a problem, but they haven’t left me entirely satisifed and maybe this is the reason why.

Aknuds1/html-to-react

Aknuds1/html-to-react

A lightweight library that converts raw HTML to a React DOM structure.

React Trend

React Trend

Simple, elegant trend graphs for React.js.

Building a CQRS/ES Web Application in Elixir Using Phoenix

Building a CQRS/ES Web Application in Elixir Using Phoenix

Building applications following domain-driven design and using CQRS feels really natural with the Elixir – and Erlang – actor model. Aggregate roots fit well within Elixir processes, which are driven by immutable messages through their own message mailboxes, allowing them to run concurrently and in isolation.

Really nice (long) dive into building a CQRS/Event Sourcing application using Elixir.

Idiomatic Redux: Thoughts on Thunks, Sagas, Abstraction, and Reusability

Idiomatic Redux: Thoughts on Thunks, Sagas, Abstraction, and Reusability

The redux-thunk and redux-saga libraries are the most widely-used libraries for “side effects” in Redux. Both provide a place to make AJAX requests, dispatch multiple actions, access the current store state, and run other complex logic. redux-thunk does this by allowing you to pass a function to dispatch(), while redux-saga uses ES6 generators to execute asynchronous logic.

There’s been a lot of recent statements arguing that thunks (and sagas) are bad and should almost never be used. As a result, I’ve seen developers confused and wondering what alternatives they have to implement a given feature.

The concerns being raised are valid, but to balance the discussion, I would argue that thunks are a useful tool in Redux applications, and that developers should not be scared to use thunks in their codebase.

With those thoughts in mind, let’s dig into the discussions and see just what has been said about thunks.

Lots of good stuff in here. I can see a couple of things right away that I have noticed as problematic (duplication of async code, going “dispatch crazy” with chained actions) but struggled to find an obviously better solution.