SmaJli

Counter Example React State

Apr 8th, 2022
1,103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { useState } from "react";
  2.  
  3. // if(prev !== current){
  4. //     rerender()
  5. // }
  6.  
  7. // if({} !== {})
  8.  
  9. function Counter() {
  10.   const [counter, setCounter] = useState(0);
  11.   const [name, setName] = useState("Mario");
  12.  
  13.   const [user, setUser] = useState({
  14.     name: "Mario",
  15.     age: 26,
  16.     address: "Oktomvriska",
  17.   });
  18.  
  19.   //   let counter = 5
  20.   function increase() {
  21.     console.log(counter);
  22.     setCounter(counter + 1);
  23.     // prefer not to use counter++
  24.     //   setCounter(function (counter) {
  25.     //     return counter + 1;
  26.     //   });
  27.     // counter++;
  28.     // document.body.innerHTML = counter;
  29.   }
  30.  
  31.   const buttonStyles = {
  32.     margin: 10,
  33.     padding: "8px 10px",
  34.     fontSize: "20px",
  35.     cursor: "pointer",
  36.   };
  37.  
  38.   return (
  39.     <div>
  40.       <div>Count: {counter}</div>
  41.       <div>Name: {name}</div>
  42.       <div>Age: {user.age}</div>
  43.       <button onClick={increase} style={buttonStyles}>
  44.         +
  45.       </button>
  46.       <button onClick={() => setName(name.slice(0, -1))} style={buttonStyles}>
  47.         Cut
  48.       </button>
  49.       <button
  50.         onClick={() => setUser({ ...user, age: user.age + 1 })}
  51.         style={buttonStyles}
  52.       >
  53.         Birthday
  54.       </button>
  55.     </div>
  56.   );
  57. }
  58.  
  59. // let counter = 5;
  60. // function increase() {
  61. //   counter++;
  62. //   document.body.innerHTML = counter;
  63. // }
  64. // button.onclick = increase;
  65.  
  66. export default Counter;
  67.  
Advertisement
Add Comment
Please, Sign In to add comment