IlanZiin

#037 USEMEMO

Sep 16th, 2022
1,029
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { useState, useEffect, useMemo } from 'react'
  2.  
  3. export default function App(){
  4.  
  5.     const [valor, setValor] = useState(() => { return 0 })
  6.     const [numero, setNumero] = useState(() => { return 1000 })
  7.  
  8.     //const valorCalculado = funcaoDemorada(valor)
  9.     const valorCalculado = useMemo(() => {
  10.         return funcaoDemorada(valor)
  11.     }, [valor])
  12.  
  13.     useEffect(() => {
  14.         console.log('render')
  15.     })
  16.  
  17.     function incrementar(){
  18.         setValor((oldValor) => oldValor + 1)
  19.     }
  20.  
  21.     function incrementar2(){
  22.         setNumero((oldNumero) => oldNumero + 100)
  23.     }
  24.  
  25.     function funcaoDemorada(num){
  26.         for(let i=0; i<1000000000; i++){}
  27.  
  28.         return num * 2
  29.     }
  30.  
  31.     return (
  32.         <>
  33.             <h1>React Hooks - useMemo</h1>
  34.             <hr />
  35.             <p>Valor: {valor}</p>
  36.             <p>Numero: {numero}</p>
  37.             <p>Valor calculado: {valorCalculado}</p>
  38.             <button onClick={incrementar}>Incrementar</button>
  39.             <button onClick={incrementar2}>Incrementar 2</button>
  40.         </>
  41.     )
  42. }
Advertisement
Add Comment
Please, Sign In to add comment