Quantity.js 892 B

123456789101112131415161718192021222324252627
  1. import styles from "styles/Quantity.module.scss";
  2. import GetIcon from "components/GetIcon";
  3. import { useRef, useEffect } from "react";
  4. import cartStore from 'stores/cartStore';
  5. import {observer} from 'mobx-react';
  6. const Quantity = ({ data }) => {
  7. const inp = useRef("inp");
  8. useEffect(() => {
  9. inp.current.value = data.quantity || 1;
  10. }, [data.quantity]);
  11. return (
  12. <div className={styles.quantity}>
  13. <button type="button" className={styles.quantityBtn} onClick={() => cartStore.substractProduct(data.product)}>
  14. <GetIcon icon="BsDash" size={20} />
  15. </button>
  16. <input type="number" min="1" max="10" defaultValue={1} ref={inp} />
  17. <button type="button" className={styles.quantityBtn} onClick={() => cartStore.addProduct(data.product)}>
  18. <GetIcon icon="BsPlus" size={20} />
  19. </button>
  20. </div>
  21. );
  22. };
  23. export default observer(Quantity);