O que saber sobre JavaScript antes de começar no React?
HTML e CSS
Parece simples, né? Mas saber HTML e CSS faz muita diferença. Conhecer qual o propósito de cada elemento que pode ser usado num código HTML impacta diretamente na qualidade da sua aplicação. Um HTML e CSS bem construído impactam diretamente na Acessibilidade, SEO, legibilidade e experiência do usuário. Usar divs(ou tables 😬) está longe das melhores práticas.
Onde encontro conteúdo?
W3Schools - HTML https://www.w3schools.com/html/
W3Schools - CSS https://www.w3schools.com/css/
HTML.com https://html.com/
LearnLayout - CSS https://learnlayout.com/
Javascript
Esse aqui é indispensável. Quando comecei a aprender React, eu não sabia Javascript, então tive muita dificuldade em entender a sintaxe, funções anônimas, os problemas com tipos e alguns operadores. Se eu soubesse JS antes de tentar aprender React, esse processo certamente teria sido bem mais simples e menos traumático.
Do meu ponto de vista, os principais pontos da linguagem são:
AJAX (Fetch, async/await e Promises)
Spread Operator
Strict equality vs Loose equality
Entender como "undefined" funciona
Object e Array
Se tiver conhecimentos sólidos sobre o que citei, provavelmente você não terá grandes dificuldades no seu aprendizado.
Onde encontro conteúdo?
*FreeCodeCamp https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/
*CodeAcademy https://www.codecademy.com/learn/introduction-to-javascript
*Learn JavaScript https://www.learn-js.org/
Programação Funcional
A partir da versão 16.8 o React migrou a criação de componentes para funções, dando o suporte ao controle de estados e todo o ciclo de vida do componente usando funções.
Nas versões anteriores, os componentes eram declarados como classe, o ciclo de vida era gerenciado através de métodos embutidos(componentDidMount,componentDidUpdate, etc) e os estados eram controlados através de atributos e métodos.
Com a nova versão, é possível controlar todo o componente usando apenas funções. Além disso, foi criada também a "Context API", que veio para suprir a necessidade de uso do Redux para controlar estados "globais" em uma aplicação.
Onde encontro conteúdo?
Programação Funcional para Iniciantes - Training Center https://medium.com/trainingcenter/programa%C3%A7%C3%A3o-funcional-para-iniciantes-9e2beddb5b43
O que é programação funciona e qual a sua importância - Fellipe Couto
https://dev.to/fellipecouto/programao-funcional-o-que--e-qual-a-importncia-2nia
Fundamentos da programação funcional - Paula Vaz
https://medium.com/@paula_vaz/fundamentos-de-programa%C3%A7%C3%A3o-funcional-4b483aeeda9d