Although React.js is an incredibly popular and simple library, getting started in its ecosystem can be quite overwhelming.

When you begin exploring React you’ll realize that there are a tonne of tooling options, plugins and packages available for, and working with, React. It can be super difficult to decide what you need right away, and which of the available options is ‘best’ for your use case.

Recommendations may suggest you look into Webpack for your build tool, Redux for handling state, or Flux to manage your application’s architecture, but the best way to learn React is to focus on only React.

You’ll want your first app or experiment to be fairly small so you can focus on some of the basic concepts. You therefore don’t need a complex build tool like Webpack. Now I’m not saying Webpack is useless or not a good tool, its just completely unnecessary to add complexity to your project this early on.

As your app grows it’ll become more and more difficult to manage its state without extra tooling. This is when things like Redux come in to play to help you out. But don’t add and configure Redux right off the bat. You absolutely don’t need it when you’re getting started. You’ll feel when things are getting hard to manage, and should then explore options for state management.

Its important to remember that tools exist to help us do our jobs better, or easier or faster by solving particular problems. If you aren’t facing a particular problem that a tool solves, its unnecessary to add it into your workflow.