I want to change the property amount in a state object using buttons (increment and decrement). I checked using console.log and the property's value is changing when the buttons are clicked, but the displayed number is not changing. why is that? what am I doing wrong?
here's my code: (codesandbox)
import React, { useState, useEffect } from "react";
import { Button } from "react-bootstrap";
export default function App() {
  const [data, setData] = useState({});
  useEffect(() => {
    const temp = {
      id: 1,
      name: "apple",
      amount: 10
    };
    setData(temp);
  }, []);
  const handleInc = () => {
    let temp = data;
    temp.amount++;
    console.log("increment", temp.amount);
    setData(temp);
  };
  const handleDec = () => {
    let temp = data;
    temp.amount--;
    console.log("decrement", temp.amount);
    setData(temp);
  };
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <label>name: {data.name}</label>
      <br />
      <label>amount: {data.amount}</label>
      <br />
      <Button onClick={handleDec}>Reduce</Button>
      <Button onClick={handleInc}>Increase</Button>
    </div>
  );
}
 
     
     
     
    