O documento discute React, Flux e arquitetura de aplicações front-end. Aborda problemas atuais da web, como desempenho e complexidade do MVC, e como React e Flux podem ajudar a resolver esses problemas através de componentização, estado unidirecional e ciclo de vida de componentes.
17. Muito do que se faz hoje
MVC
Mineração de DOM - getElementById, etc
Adiciona classe, retira classe
Problemas de compatibilidade
Dificuldade em escalar e aceitar
grande quantidade de dados
24. Virtual DOM
React abstracts away the DOM from
you, giving a simpler programming
model and better performance. React
can also render on the server using
Node, and it can power native apps
using React Native.
25. Data Flow
React implements one-way reactive
data flow which reduces boilerplate
and is easier to reason about than
traditional data binding.
44. 3 partes principais
Mounting - Um componente irá ser inserido no DOM.
Updating - Um componente está a ser re-renderizado
para determinar se o DOM deverá ser atualizado. (Virtual DOM)
Unmounting - Um componente está sendo removido do DOM.
Além disso, o React fornece métodos de ciclos de vida para
você interceptar esse processo. Métodos do tipo “will”.
45. Mounting - 3 métodos
getInitialState - Chamado antes de um componente ser
montado. Componentes que usam state devem implementar
isso para retornar dados iniciais.
componentWillMount - Chamado imediatamente antes
de ocorrer a montagem.
componentDidMount - Chamado imediatamente depois
de ocorrer a montagem. Se precisar alterar o DOM, deve vir aqui.
46. Updating - 4 métodos
componentWillReceiveProps(object nextProps) - Chamado
quando um componente recebe novas propriedades.
shouldComponentUpdate(object nextProps, object nextState)
Deve retornar um boolean se o componente deverá ser
atualizado ou não.
componentWillUpdate(object nextProps, object nextState)
Chamado imediatamente antes de uma atualização acontecer.
Não pode chamar this.setState aqui.
componentDidUpdate(object prevProps, object prevState)
Chamado imediatamente depois da atualização acontecer.
47. Unmounting - 1 método
componentWillUnmount - Chamado imediatamente antes
de um componente ser desmontado e destruído. Limpezas
devem ser feitas aqui.
48. state props refs render
ciclos de vida
componentização
JSX e JS compilado
UI complexas
event system (onClick onChange...)
ajax
isso é React