You should probably know enough JavaScript, first.
So, I remember a few months ago when I was trying to decide if it was time to learn a JavaScript framework or not and a question kept bugging my head, "How much JavaScript should I know before learning a framework". Well, fast forward to now and I think I may have a better understanding and can answer this question for myself (and perhaps for a few others too).
Let me just start by saying "You should know enough JavaScript first".
There are lots of concepts behind modern JavaScript frameworks that I personally (and I feel a lot of professionals would agree) feel that every one who wants to learn a framework should understand very well. I will take out time to outline a few.
The Basics (of course)
You definitely want to know and understand a lot of the basics and core principles of the language. You should be able to declare variables, understand data types, understand arrays, objects, declare functions, manipulate conditions and create loops. A very good understanding of these is something you definitely want to have before you learn a framework.
But, there's more.
Yes! There's more and below are my best picks for concepts I feel you should understand better before delving into a framework.
Manipulating the DOM
Most frameworks are designed to help you manipulate and make changes to the DOM quicker and faster, but it is absolutely important to know how this works in plain JavaScript and how to do a whole lot in terms of making changes to the DOM without the help of a framework or library.
Array Methods
This is an absolutely and extremely important subject that you should understand. Working with JavaScript would definitely mean you will have to play around and work a lot with data, most of which would be present in the form of an array. You need to be able to add items, to the array, update it, get data from it, remove data from it and do all kinds of stuff on it. It's almost unavoidable and it's something I 100% feel should be learnt.
More understanding of Objects.
Most modern frameworks would make you work a lot with Objects and it's perhaps something you do not want to ignore and something you really want to wrap your head around.
Prototypes and ES6 Classes
You will find that most modern frameworks make the most of these. And if you lack an understanding of how it works, you may just on the surface know how to use it, but would lack a very fundamental "know-how" of how this works under the hood. And I feel it's more beneficial to know how it works than just how to use it.
ES6 Modules.
I'm writing this with a smile on my face cause as of now I am still trying to understand this subject myself. But that said, it's something that is very common in modern frameworks and something that should be learnt and properly understood before even writing a single line of code that is dependent on a framework.
More New JavaScript features
Yes. JavaScript isn't what it use to be a few years ago and there are lots of new features it brings that you should definitely learn, stuff that you would find prevalent in most modern frameworks.
I could say a whole lot more about this, but I feel the above are the most important things you should learn before choosing a framework.