Code Monkey home page Code Monkey logo

giffy's Introduction

Ingredientes

  • React
  • Wouter

Hooks

Para quem não sabe e é curioso como eu, a tradução de hook é "gancho".

Hooks são funções que permitem "engatar" aos recursos dos estados e outros caraterísticas de React sem escrever uma classe, como anteriormente.

Vamos aprender então, a controlar um estado usando useState.

useState é um hook para controlar valores

Primeiramente, precisamos importar useState de react.

import React, { useState } from 'react';

O que o useState faz?

Ele declara um variável state. Nossa variável é chamada de count mas poderíamos chamar de qualquer coisa, como banana. Esta é uma maneira de “preservar” alguns valores entre as chamadas de funções (...).Normalmente, variáveis “desaparecem” quando a função sai mas variáveis de state são preservadas pelo React.

O que passamos para o useState como argumento?

O único argumento para o Hook useState é o estado inicial.

O que useState retorna?

Ele retorna dois valore: o estado atual (ou também chamado de inicial) e uma função que atualiza o estado.

function Example() {
  const [ count, setCount ] = useState(0)
}

Atualizando o state

<button onClick={() => setCount(count + 1)}>
  Clique aqui
</button>

ATENÇÃO!!

Como descrito na documetação do React, existem duas regras fundamentais para os hooks.

  • Apenas chame Hooks no nível mais alto. Não chame Hooks dentro de loops, condições ou funções aninhadas. Apenas chame Hooks de componentes funcionais.
  • Não chame Hooks de funções JavaScript comuns. (Há apenas um outro lugar válido para se chamar Hooks — dentro dos seus próprios Hooks customizados. Iremos aprender sobre eles em breve.)

Porque não usar forEach ao invez de map?

Simplesmente porque o forEach não devolve nada e o metodo map, sim.

Com o forEach conseguimos percorrer também o array, ao igual que o map, porém precisamos devolver uma imagem com a url distinta <img src={image} />.

Referencias

giffy's People

Contributors

ramirezmz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.