From aa159bf42273f79277100cc0d5c4b38393fd5bc8 Mon Sep 17 00:00:00 2001
From: robsutcliffe <rob@firefields.com>
Date: Fri, 13 Sep 2024 13:11:55 +0200
Subject: [PATCH] redux post

---
 .idea/.gitignore                              |   8 ++
 data/blog/benefits-of-redux.mdx               | 107 ++++++++++++++++++
 .../posts/redux-time-travel-debugging.webp    | Bin 0 -> 22248 bytes
 3 files changed, 115 insertions(+)
 create mode 100644 .idea/.gitignore
 create mode 100644 data/blog/benefits-of-redux.mdx
 create mode 100644 public/static/images/posts/redux-time-travel-debugging.webp

diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/data/blog/benefits-of-redux.mdx b/data/blog/benefits-of-redux.mdx
new file mode 100644
index 0000000..143acda
--- /dev/null
+++ b/data/blog/benefits-of-redux.mdx
@@ -0,0 +1,107 @@
+---
+title: The Benefits of Redux?
+date: '2024-09-12'
+tags: ['state management']
+draft: false
+summary: Redux continues to be a popular choice for large-scale applications, offering predictable state updates, powerful debugging tools, and scalability that supports collaboration in larger teams.
+images: ['/static/images/posts/redux-time-travel-debugging.webp']
+---
+
+## The Benefits of Redux?
+
+Redux is more complicated to set up than most state management tools. However, setup is a tiny part of the time we spend developing, and we almost always prefer a more complex setup over a more complicated maintenance. With all the new state management tools and the option to simply use [useContext](https://react.dev/reference/react/useContext), we often ask, Is Redux still the best choice for state management?
+Here are several things to consider when asking this question:
+
+## Immutable Data
+
+Immutability is a core concept in functional programming. We never change a state object; we throw it out and save a whole new object. It's a way to ensure that our state is predictable and easy to reason about.
+
+This leaves us with two questions:
+1. Does this trigger extra re-renders?
+2. Does this take up extra memory?
+
+The answer to both of these questions is no. Redux uses structure sharing, meaning it reuses unchanged parts of the object. This prevents unnecessary memory usage and avoids extra re-renders when the value remains the same.
+
+**Bonus tip:** Use a library like [immer](https://github.com/immerjs/immer) to help us when updating the state because we can turn code that looks like this:
+```js
+  return {
+    ...state,
+    user: {
+      ...state.user,
+      address: {
+        ...state.user.address,
+        city: action.payload.city
+      }
+    }
+  }
+```
+Into this:
+```js
+return produce(state, draftState => {
+  draftState.user.address.city = action.payload.city
+})
+```
+Essentially letting us create a completely new state object without mutating the old one. But with much cleaner code.
+While many state managers have ways to enforce immutability, Redux enforces immutability by default. Having an opinionated approach is useful here as we know from anywhere in our code that we're not mutating our state, and neither is any other developer.
+## Reducers and Pure Functions
+
+In functional programming, we require our functions to be pure and meet the following criteria:
+1. In must be **deterministic**, meaning that given the same input, it will always produce the same output.
+2. It must have **no side effects**, it can not interact with anything outside the function.
+
+One type of pure function is a reducer. A reducer reduces multiple inputs into a single output. It's a pure function because it always produces the same output given the same input. It can be used to update state.
+
+```js
+function counterReducer(state, action) {
+  switch (action.type) {
+    case 'increment':
+      return { count: state.count + 1 };
+    case 'decrement':
+      return { count: state.count - 1 };
+    default:
+      return state;
+  }
+}
+```
+The above code has the following benefits in a React application:
+- It can be tested as a unit.
+- We can reason about it and predict the output more easily.
+- We can debug it more quickly, especially with our next point.
+
+## Time-Travel Debugging
+
+Redux has the most evolved community and ecosystem, and with that come the best dev tools. One of the features of the dev tools that we only have because of Redux's enforced immutability is time-travel debugging. We can skip back and forth through our application's state and see how it changes over time.
+
+![INP long tasks](/static/images/posts/redux-time-travel-debugging.webp)
+
+## Middleware
+
+I/O tasks are inherently not pure functions. They interact with something outside the function. This is an issue when we use functional programming in web development. Take this function for example:
+
+```js
+async function fetchData(state, userId) {
+  const data = await fetch(`https://api.example.com/user/${userId}`);
+  produce(state, draftState => {
+    draftState.user = data.user
+  })
+}
+```
+
+We could make this function deterministic, but it will always interact with an API, so it will always have side effects. We can reduce exposure to the impure function by using middleware.
+
+```js
+function fetchData(state, userId) {
+  return async dispatch => {
+    const data = await fetch(`https://api.example.com/user/${userId}`);
+    dispatch({ type: 'FETCH_USER_SUCCESS', payload: data.user })
+  }
+}
+```
+
+While async functions aren't strictly impure, they often involve I/O tasks, introducing unpredictability. Middleware in Redux helps manage these side effects, ensuring that asynchronous logic doesn't directly affect the rest of your application's state.
+
+## Scaling
+
+A lot of the above benefits can be added to other state management tools. But redux enforces them. Redux also encourages keeping all this state in a single centralised global state. Giving confidence to scaling teams and improving the developer experience. A developer has a finite amount of working memory, and we should write code in a way that doesn't overload the developer's memory.
+
+Anything that improves the developer experience of a large and growing team also helps a team of one on a relatively small project. This is because you can't remember all the code in between development sessions. It would help if you treated yourself as a different developer, and for that reason, redux is still the best choice for state management.
\ No newline at end of file
diff --git a/public/static/images/posts/redux-time-travel-debugging.webp b/public/static/images/posts/redux-time-travel-debugging.webp
new file mode 100644
index 0000000000000000000000000000000000000000..1d366255c34ddfdc0cdcf7b2faf605d2db2a3838
GIT binary patch
literal 22248
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
Ts9|t_zoVRZfja+Zg8Y8~=&D1W

literal 0
HcmV?d00001