- 1. Conceitos abordados
- 2. Descrição do projeto
- 3. Iniciando o Projeto
- 4. Convertendo classe (React Hooks)
- Instalar React Hooks.
- Transformar State em useState.
- Transformar componentDidMount em useEffect.
- Realocar props.
Converter a forma clássica de usar Redux (através de class) para React Hooks.
Projeto Inicial: https://github.com/MaisDennis/GoStack10.0-Modulo-07
Um website 'Rocketshoes', que tem uma lista de produtos (tênis). O site permite adicionar os produtos ao 'Carrinho'. Na página do Carrinho, podemos alterar a quantidade de cada produto, remover o produto e temos o retorno do valor subtotal e total de produtos em R$.
- Iniciar a biblioteca JSON Server:
json-server server.json -p 3333
- Iniciar o React
yarn start
- Converter todas as classes do modulo07
- Instalar Hooks.
yarn add eslint-plugin-react-hooks -D
- .eslintrc.js
- plugins, rules.
- Home/index.js
- Tem componentDidMount e State.
- Transformar class em function.
- remover { component } from 'react';
- import e criar useState.
- componentDidMount -> useEffect:
- import useEffect.
- async componentDidMount -> useEfffect
- obs. setState -> setProducts, loadProducts, [] ao final (componentDidMount)
- tirar render()
- const { products } = this.state; -> const [ products, setProducts ] = useState([]);
- const { amount } = this.props; -> function Home( { amount }) {
- const { addToCartRequest } = this.props; -> function Home( { amount, addToCartRequest }) {
- Usar apenas return()
- e não tem mais this: this.handleAddProduct(product.id)