const [isActive, setIsActive] = useState(false);
이거 상수 false 두고
<Countdown
date={StartDate}
onMount={({ completed }) => completed && setIsActive(true)}
onComplete={() => setIsActive(true)}
renderer={renderCounter}
/>
정해진 시간 되면 true 로 바뀌게 하려는데요
onMount 저놈이 자꾸 true로 바꾸고 시작합니다..
쟤를 지워주면 정해진 시간 되면 complete로 true로 한번 바뀌고 다시 false로 돌아가구요..
어떻게 해야 이 창과 방패를 아우를수 있을까요?
카운트다운은 react countdown 임포트 했습니다
해당 댓글은 삭제되었습니다.
도와주세요..
외국 예제들 보면서 한건데 걔네는 잘작동하던데 저는 왜안될까요.. 콘솔로 보면 onMount 줄만 지우면 false로 잘있는데 뭐가 잘못된걸까요 - dc App
boolean + and + @ 패턴 말하는 거면 boolean 값에 의해 @부분 실행 여부 결정 하는 흔히 쓰는 패턴임 @ 부분이 true인지 false인지는 관계 없음
setIsActive(false)를 쓴적이 없는데 어떻게 false로 돌아가는 거지?
const [isActive, setIsActive] = useState(false); 해놓고 시간 바뀌면 true로 바뀌게 하고싶은거였습니당
그니깐 onMount 부분을 없애면 false로 되돌아간다는데 setisactive(false)도 없이 왜 되돌아가냐는 말임
{isActive.toString()} 놓고 값 변하는거 보면 onMount={({ completed }) => completed && setIsActive(true)} 이거 코드 넣는 순간 true로 바로 고정이 되요.. 제가 구현하고싶은건 completed 되면 true로 바꾸고 onMount로 계속 그거 유지시켜주는거였습니다..
그건 알고 잇는데 왜 onMount를 써서 유지를 시켜주려 하느냐 이말이야 onMount를 아예 없애고 isActive를 고정시키면 되는 거 아니야?
그 처음엔 onComplete 로 해봤는데 한번만 바뀌고 리로드되면 다시 상수때문에 false로 바뀌길래요.. isActive를 고정시킬 다른 방법이 있을까요
리로드면 새로고침 같은것? 그럼 당연히 바뀌겟지.. 바뀌는거 막으려면 localstorage 같은걸 써야지 onmount건 뭐건 별지랄을 다해도 못막음
바뀌는건 좋은데 그 카운트다운이 끝나고나서 바뀌길 원한건데 제시해주신 방법 쓰면 타이머 이후에 바뀐채로 유지하는게 가능한가여
code sandbox에 올려봐
전체 코드
https://codesandbox.io/s/intelligent-elbakyan-okouf?file=/Shop.tsx