Translator: If there is movement, there is negotiation

The original link

This series of technical articles is based on the author’s practice.

The introduction

I’ve been learning about Redux for a while now, using various resources. At first, I learned by reading documents, searching online tutorials, and diving in Reactiflux’s chat channel. As I gradually learned to use Redux, I started answering questions on Reactiflux, StackOverflow, Reddit, and doing research to help others to gain experience. While maintaining two repositories: the React/Redux Links List and the Redux Addons Catalog, I wanted to read some in-depth articles to get a deeper understanding of the complexities and issues involved in building real-world applications and find some libraries that would help me write better Redux applications. I ended up taking a close look at Redux’s feedback, and there were a lot of questions and discussions (and more, so now I’m an official Redux maintainer).

In addition to these studies, I’ve spent a lot of time using Redux in my work apps over the last year. I encountered various challenges during development, and developed some interesting tools and techniques to solve them. I’ve learned a lot from other sharer’s articles, so I’d like to share some of my experiences as feedback.

The Redux Practices series includes some of the tips, techniques, and ideas I’ve developed while developing my App. Since I can’t share the specifics of my actual work, I built a sample scenario to illustrate these ideas, based on the concept of Battletech Game Universe.

  • The Combat Mecha is a drivable walking robot armed with a variety of weapons: missiles, laser guns, automatic artillery. Each machine has a pilot.
  • There are many types of combat mechs. Each type of mecha is different in size, weapons or other equipment and so forth.
  • Four mechs in a team, three mechs in a regiment.

As the series progresses, I hope to build a small APP to show examples in the actual working environment. The tentative plan is to build an app that tracks pilots and mechs ‘virtual combat capabilities, like a mini-version of MekHQ’s game activity tracking app. These screenshots from MekHQ explain some of the concepts and interactions I wanted to emulate.

  • MekHQ: List of available drivers and detailed data for selected drivers

  • MekHQ: Tree organization of mechs and armed pilots

  • MekHQ: Details and data on the mecha

By no means am I trying to recreate all of MekHQ’s functionality, but that will be a source of inspiration and ideas for examples.

The first two articles will discuss ways to standardize data using the Redux-ORM library. These two articles cover topics such as how to handle draft data in editing projects, build tree views, handle table input, and more. I also plan to cover some topics that are not specific to Redux.