Don’t learn how to use frameworks. It’s a knowledge that will expire fast. On the other hand, you should learn how frameworks work, that is very valuable knowledge.

To build successful JavaScript applications you need to:

Learn everything you can about the JavaScript language itself. Its bad parts and good parts and all the modern features it recently gained.

Learn JavaScript runtimes like Node and Browsers and learn how they are single threaded. Learn their APIs. Learn how to share code between clients and servers. Learn about the event loop. Understand VMs call stacks.

Learn the merits of functional programming and use its concepts where you can. Learn how to be declarative instead of imperative when you can.

Learn small libraries like React and Redux which do one thing and do it well. Pick libraries with the smallest API.

Learn how to build scalable data APIs (take a look at GraphQL)

Learn the power of CSS and how to use it to minimize your applications JavaScript code.

Learn how to add types to JavaScript with TypeScript (or Flow) and learn where you should focus on types vs testing