Mark's Dev Blog
398 FOLLOWERS
Random musings on React, Redux, and more, by Redux maintainer Mark "acemarke" Erikson.
Mark's Dev Blog
5M ago
I gave a lightning talk at React Summit US, and did a quick run-through of what's changing in RTK 2.0.
I've linked the livestream at the right timestamp for now, and will link the final video when it's live.
What's New in Redux Toolkit 2.0 - video
And here's the slides:
What's New in Redux Toolkit 2.0 - slides
(and totally unrelated to my talk, had the chance to lead a Carnival Parade of costumed characters as part of Kathleen McMahon's demonstration of "why you should never include a carousel in your design system!")
Kathleen McMahon: Carnival!!! - video ..read more
Mark's Dev Blog
8M ago
My extensive post "A (Mostly) Complete Guide to React Rendering Behavior" is the most popular and widely appreciated post I've written. After the recent updates to cover React 18, it's now around 10,900 words long!
I recently had a chance to give a talk based on that post for React Advanced in 2022 and React Rally in 2023.
React Rally 2023
I'll link the video once it's available.
A (Brief) Guide to React Rendering Behavior - slides React Advanced 2022 A (Brief) Guide to React Rendering Behavior - video
And here's the slides:
A (Brief) Guide to React Rendering Behavior - slides ..read more
Mark's Dev Blog
9M ago
Table of Contents
Introduction
Redux Packages Background
Packages and Configurations
Issue History
Early Attempts
Migrating to Vitest
Initial Alpha Testing
Researching Better Configuration
Setting Up CI Checks for Packaging
Initial CI Setup
Are The Types Wrong?
Packaging Updates, Round 2
Switching Build Tooling
UMD Build Artifact Changes
Webpack 4 Compat
Immer 10 Beta
TypeScript Declarations
Round 2 Results
Other Package Updates
Updating Immer's Packaging
Problems with Next.js and React Server Components
Venting
Final Thoughts
Where Do Things Stand Today?
Lessons and Takeaways
Fu ..read more
Mark's Dev Blog
11M ago
In mid-2021 I had the chance to do a talk on "Debugging Software" for a meetup hosted by Mintbean.io. In 2022, I did an updated "Debugging JS" version of the talk for ThisDot Media's "JS Drops" video series.
I previously did a post on Debugging Tips, where I listed some quick tips for thinking about debugging, and recapped the stories of several interesting bugs I ran into and solved.
I later had a chance to present this talk at React Summit 2023 in Amsterdam.
This talk was based on that post, and covers:
Concepts and principles for thinking about debugging, as well as some additional tips
Sp ..read more
Mark's Dev Blog
1y ago
I had the opportunity to talk on a number of different podcasts and interviews over the course of the year. I've gathered them here as a directory.
ThisDot / Tracy Lee: How to Contribute to Redux
Tracy Lee is a prolific podcaster, and her company ThisDot creates numerous shows related to the JS ecosystem. She had me on as part of a new "How to Contribute..." series, where I talked about ways to contribute to the Redux libraries.
https://www.youtube.com/watch?v=rPJmnxDX9lY
Kevin Ghadyani: Redux vs React Context
Kevin and I have done a couple long-form video discussions in the last couple years ..read more
Mark's Dev Blog
2y ago
I've spoken at Reactathon in past years, and this year I had the chance to give a pre-recorded talk. I also ended up giving the same talk live as well after filling in as a backup speaker.
My talk looked at why we use middleware for side effects in Redux, the major libraries (thunks, sagas, observables), why we've recommended thunks, introduces RTK Query and the "listener" middleware, and gives our current recommendations for what tools to use in different scenarios today.
The Evolution of Redux Async Logic - slides
The video should be online in the next few weeks, and I'll link it here once i ..read more
Mark's Dev Blog
2y ago
I had the opportunity to give a talk at the first-ever Typescript Congress virtual conference.
My talk went over a variety of things I've learned working on the TypeScript aspects of the Redux libraries over the last few years. I covered things like different ways to include types when publishing, approaches for versioning public types APIs, supporting multiple TS versions, debugging and testing types, and some wacky examples of actual types from our libraries.
Lessons from Maintaining TS Libraries - slides
The video should be online in the next few weeks, and I'll link it here once it's avail ..read more
Mark's Dev Blog
2y ago
Intro
In March of 2020, I was reassigned to lead a team building an internal metrics dashboard. This app was built as a classic MEAN project, with a client built using AngularJS 1.x. After I joined the team, I wrote a post recapping how I modernized the codebase by building the AngularJS client with Create-React-App. I also switched package management from NPM+Bower over to Yarn 1.x, switched client tests from Karma to Jest, and was able to use react2angular to begin building new features using React + TypeScript in the middle of the legacy client.
Since then, we've continued to modernize all ..read more
Mark's Dev Blog
3y ago
Introduction
I was just asked a question about how testing works for Redux applications:
For a beginner front-end developer, what would you expect them to know about Redux testing? (techniques and patterns specifically)
What - if any - tools are industry-standard for Redux testing? I've seen some tutorials using redux-mock-store, fetchMock, redux-testkit, redux-action-assertions, etc.
I ended up writing an extended response about the history of testing Redux apps, the two major styles of testing that I've seen, and how those approaches have evolved over time - clearly worthy of being r ..read more
Mark's Dev Blog
3y ago
Today I had the chance to do a talk on "Debugging Software" for a meetup hosted by Mintbean.io.
I previously did a post on Debugging Tips, where I listed some quick tips for thinking about debugging, and recapped the stories of several interesting bugs I ran into and solved.
Today's talk was based on that post. I covered:
Concepts and principles for thinking about debugging, as well as some additional tips
Specific techniques for debugging, including how to use both print logging and GUI debuggers effectively, as well strategies for debugging React, Redux, and JS
"Scene of the crime"-themed v ..read more