5 tools to speed the development of your React UI components and applications.

React is great for quickly developing an application with a beautiful interactive UI. React components are a great way to create isolated and reusable building blocks for developing different applications.

While some best practices help develop a better application, the right tools can make the developments process faster. Here are 5 (+) useful tools to speed the development of your components and applications.

You are welcome to comment and suggest your own.

1. Bit

Bit makes it easy to share and reuse React components across different teams and projects. It lets you instantly isolate and share reusable components, so you and your team can discover, use and even update them from any project.

When building multiple applications, Bit lets developers and teams save time by turning components into reusable building blocks. It works with GitHub and NPM so you can easily publish and install components from any project, and even lets you import and develop components from any consuming repo.

Changes to components can be easily synced across projects, as Bit controls all the component dependencies and can update all of them anywhere. It even extends Git to let you merge component changes in different projects.

Easily reuse and update components across projects and teams

Your team can colalborate in a shared component hub, where components are visualized and can be easily discovered, tried-out and consumed in your apps. It removes the overhead around reusing shared code and empowers developers to instantly create a reusbale “Lego box” of their components.

Easily reuse and update components across projects and teams

When components are modifed

Bit is the fastest and most collaboratively way to prevent duplicate component rewrites, standardize development and build together as a team. Try it out:

Storybook and Styleguidist are environments for rapid UI development in React. Both are great tools for speeding development of your Reacts apps.

There are a few important differences between the two, which can also be combined to complete your component development system.

With Storybook you write stories in JavaScript files. With Styleguidist you write examples in Markdown files. While Storybook shows one variation of a component at a time, Styleguidist can show multiple variations of different components. Storybook is great for showing a component’s states, and Styleguidist is useful for documentation and demos of different components.

Here’s a short rundown.

Storybook is a rapid development environment for UI components.

It allows you to browse a component library, view the different states of each component, and interactively develop and test components.

StoryBook helps you develop components in isolation from your app, which also encourages better reusability and testability for your components.

You can browse components from your library, play with their properties and get an instant impression with hot-reload on the web. You can find some popular examples here.

Different plugins can help make your development process even faster, so you can shorten the cycle between code tweaking to visual output. StoryBook also supports React Native and Vue.js.

React Styleguidist is a component development environment with hot reloaded dev server and a living style guide that lists component propTypes and shows editable usage examples based on .md files.

It supports ES6, Flow and TypeScript and works with Create React App out of the box. The auto-generated usage docs can help Styleguidist function as a documentation portal for your team’s different components.

Also check out React Live by Formidable Labs. This component rendering environment is also used in Bit’s live component playground.

This official React Chrome devTools extension allows you to inspect the React component hierarchies in the Chrome Developer Tools. It is also available as a FireFox Add-On.

Using React devTools you can inspect and edit a component props and state, while navigating through your component hierarchy tree. This feature lets you see how component changes affect other components, to help design your UI with the right component structure and separation.

The extension’s search bar can enables you to quickly find and inspect the components you need, to save precious development time.

Check out the standalone app which works with Safari, IE and React Native.

This Chrome extension (and FireFox Add-On) is a development time package that provides power-ups for your Redux development workflow. It lets you inspect every state and action payload, re-evaluating “staged” actions.

You can integrate Redux DevTools Extension with any architecture which handles the state. You can have multiple stores or different instances for every React component’s local state. You can even “time travel” to cancel actions (watch this Dan Abramov video). The logging UI itself can even be customized as a React component.

5. Boilerplates & Kick-Starters

While these aren’t exactly devTools, they help to quickly setup your React application while saving time around build and other configurations. While there are many starter-kits for React, here are some of the best.

When combined with pre-made components (on Bit or other sources), you can quickly create an app structure and compose components into it.

This widely used and popular project is probably the most efficient way to quickly create a new React application and get it up and running from scratch.

This package encapsulates the complicated configurations (Babel, Webpack etc) needed for a new React app, so you can save this time for a new app.

To create a new app, you just need to run a single command.

npx create-react-app my-app

This command create a directory called my-app inside the current folder.

Inside the directory, it will generate the initial project structure and install the transitive dependencies so you can simply start coding.

This React boilerplate template by Max Stoiber provides a kick-start template for your React applications which focuses on offline development and is built with scalability and performance in mind.

It’s quick scaffolding helps to create components, containers, routes, selectors and sagas — and their tests — right from the CLI, while CSS and JS changes can be reflected instantly while you make them.

Unlike create-react-app this boilerplate isn’t designed for beginners, but rather to provide seasoned developers with the tools to manage performance, asynchrony, styling, and more to build a production-ready application.

This wonderful project by Cory House is a React + Redux starter kit / boilerplate with Babel, hot reloading, testing, linting and more.

Much like React Boilerplate, this starter-kit focuses on the developer experience for rapid development. Every time you hit “save”, changes are hot-reloaded and automated tests are being run.

The project even includes an example app so you can start working without having to read too much through the docs.