Вот список тем которые рекомендуется знать (и уметь) на обычном Js, перед изучением фреймворка:
1) Основы (типы данных, переменные, циклы, функции, структуры данных массив и объект и их наиболее используемые методы, объект window, ключевое слово this,)
2) Манипуляции с DOM часть 1 (выделение элемента/элементов, создание элементов, манипуляции с классами элементов, присваивание значений элементам)
3) Манипуляции с DOM часть 2(events - как сделать event на 1 елемент/на множество, какие вообще бывают, здесь же stopPropagation и prefentDefault)
4) Ассинхронность и все что с ней связано (понимание call stack, ассинхронный код с помощью callbacks, далее с помощью Promises, далее async/await)
5) Реквесты (понимание что такое AJAX/AJAJ, JSON/XML, как делать реквесты по старому через XMLHttpRequest, вариация через Fetch, далее через Axios)
6) Протопипы в Js. OOP в Js (factory functions, cunstructor functions)
7) ES6 (классы, стрелочные функции, деструкторизация, iterators, generators, maps, sets)
7 пункт можно изучать сразу после первого.
И только после всего вышеперечисленного переходить к реакту, однако это лишь рекомендация, и конечно же, можно сразу после основ прыгнуть в реакт, но потом все равно придется проходить то что я упомянул в той или иной форме.