Fix the Slow Render in your React App First
It is important to build performant applications so users get the best response time and experience. Applications with poor performance are not fun to use. If users don’t like an application, often they will avoid the app. If the user is a customer, this could mean the user takes their business to a competitor or uses a more (for you) expensive way to get their need handled. If it’s an internal user, likely they will default to the “sneaker net”, or do work in email (neither scales well).
Each time your React application renders, there is a process for the main thread to handle. Much emphasis is placed on reducing re-renders. This is important, though the React library does a lot of smart things to reduce renders. Kent C. Dodds wrote an interesting post on prioritizing slow renders before worrying about re-renders.
React Component Resiliency
Sometimes designing components is as much art, as science. That said, there are some general principles to keep in mind while designing new React components. One of the main benefits of React is building components that are encapsulated and avoid side effects from outside changes. By doing so, you will avoid issues as your application continues to be modified. Dan Abramov put together a well-reasoned article with 4 key elements to keep in mind when designing React components.
What do Hiring Managers look for?
Applying for a job is a laborious process. Job candidates often feel like they are on the wrong end of communication asymmetry. We’ve all went through a job interview process only to be ghosted. Is this because you said/did something wrong? Is it because you were a mere formality so an internal candidate could be moved into the job? Being ghosted isn’t only demoralizing, it also doesn’t offer any feedback to help your growth. On the Software Engineering Daily podcast, Tejas Kumar discusses some of the behind-the-scenes of assessing technical candidates and the modern stack of technologies a React developer uses to build applications.
React Component Publishing Process
There are many ways to go about publishing React packages to npm. Ovie Okeh put together a post covering naming, versioning, bundling, testing, file structure, and documentation topics that you should consider when preparing your package for publication. Having all this information in one easy to reference article will make it much easier for you to either follow Ovie’s recommendations or use them as a base for your own checklist and process definition. Remember, npm packages are public users of the package will appreciate your good work. Also, your packages could be helpful to show future employers your Mad Skillz! Be neat, tidy, and demonstrate you know what you are doing.
Controlled or Uncontrolled
Many React application developers simply want to follow the best practices for building great React applications. One area that gets a bit muddy is when to use Controlled Form Components and when you don’t have to. Sometimes Controlled form components require a lot of setup or boilerplate code. SWYX wrote up his ideas on how you can get many of the capabilities of Controlled form components without the extra work.