Diferença "var" e "let"
- Let = es6
- Let = block scope, inacessível fora; Var = function scope, acessível fora de um block
- function() { if(true) { var x = 5} console.log(x) } // x = 5
- Var é hoisted no topo da função, da "undefined" se ainda n deu valor
== e === - === vem tipo tbm
Null e undefined (Ambos empty)
- Undefined = placeholder pra uma variavel; da pra fazer var a = undefined; typeof = undefined
- Null = objeto; typeof(null) = object
Prototype inherance
- Cada objeto tem uma propriedade prototype, e criar novos objetos desse objeto acaba levando tbm as prototype, alem das proprias
Diferença de função declarativa e função expressiva
- function funcD() {...}
- let funcE = function() {...} = funcao anonima colocada numa variavel; bom que da pra passar como a funcao expressa pra outra funcao, como callbacks
O que é promisse e pra q servem
- callback function com resolve e reject, que aguarda algo completar
What is a closure
- a function that return another function
- function a() { return function b() {console.log('c')}}
Output: console.log([]+[]);
- volta nada
Output: console.log('hi'.proto.proto.)
- Volta "Object", a partir daí é null
Como remover duplicacoes de uma array:
- [... new Set(arrayAntiga)];
React lifecycle
- constructor, get derivedstateFromProps, render, componentDidMount, shouldcomponentUpdate, render, getSnapshotBeforeUpdate, componentDidUpdate, componentWillUnmount
Error boundaries
- tipo try catch só que com um component encapsulando
why can't you update state directly without setState()?
- pq setState vai sermpre dar trigger no read rendering qnd ele muda e a view muda
- ele cria uma rotina de pegar o q ja tem e incluir
- TIpo reducer, vc sempre retorna algo pra funcionar
Single child rule
- Return dentro do render tem q ter um pai
Alternative to redux
- RxJS, mobX, apollo client+graphQL
Redux middleware
- UI -> server -> DB
- UI -> reducer -> Store
React lerdo
- CDN? arquivos estátiticos? tem que ver o bottleneck no loading, usa o chrome inspector network
Explique a virtual DOM
- dar update na DOM é mt "caro", o react resolveu isso com a virtual dom que é uma maneira de deixar eficiente... pq ou vc atualiza menos ou atualiza mais rapido... a virtual Dom é uma abstracao q utiliza a memoria e sincroniza com a dom real.. uma abstracao
Pra que wrappers de eventos no react?
- Pra pegar o evento antes do browser
Principais hooks
- useRef useState useContext useEffect useReducer useCallback useMemo useImparativeHandle useDebugValue useLayoutEffect
Best practices react hooks
- Use linter, hooks rules,