• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 질문있습니다

질문있습니다

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #87377

    윤주훈
    참가자
    import { useEffect, useState } from "react";
    import { useParams } from "react-router-dom";
    import styled from 'styled-components';
    function Detail(props) {
    let Box = styled.div `
     padding : 20px;
     color : grey;
    `;
    let YellowBox = styled.div `
     background: yellow;
     padding : 10px;
     position : absolute;
     left : 100px;
     top : 100px;
    `
    let YellowBtn = styled.button`
     background : yellow;
     color : black;
     padding : 10px;
    `;
     
    let {id} = useParams();
    let findItem = props.shoes.find((x) => x.id == id);
    let [showYellowBox, setShowYellowBox] = useState(true);
    let [countDown, setCountDown] = useState(6);
     
    useEffect(() => {
    setInterval(() => {
    setShowYellowBox(false)}, 6000);
    }, )
    setInterval(() => {
    countDown--;
    setCountDown(countDown)
    }, 1000);
    // 선생님 여기서 질문있습니다 혹시 useEffect안에 setInterval 두개를 넣으면 countDown이 6에서 4로 확 넘어가버리는데 setInterval(() => {
    countDown--;
    setCountDown(countDown)
    }, 1000); 
    --> // 요 코드를 useEffect 밖에 쓰는거랑 안에 쓰는거랑 무슨 차이가 있나요?? useEffect는 html이 재랜더링 될떄마다 실행되는 것이라고 알고 있는데
    // 어떤 식으로 동작하는지 감이 오지 않습니다...
    
    
    
    
    
    
    return (
    <div>
    {
    showYellowBox == true ? <YellowBox>{countDown}초 이내 구매시 할인</YellowBox> : null
    }
    <div className="container">
    <div className="row">
    < img src="https://codingapple1.github.io/shop/shoes1.jpg" width="100%" />
    </div>
    </div>
    <div className="col-md-6 mt-4">
    <h4 className="pt-5">{findItem.title}</h4>
    <p>{findItem.content}</p>
    <p>{findItem.price}원</p>
    <button className="btn btn-danger">주문하기</button>
    </div>
     
    </div>
     )
    }
    export default Detail;
    #87402

    codingapple
    키 마스터
    둘 다 재렌더링될 때 실행됩니다 useEffect는 [] 이런거 넣어서 언제실행될지 조절가능합니다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠