inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

1-7. 회원가입 state와 custom hook

질문있습니다.

144

ㅇㅇ

작성한 질문수 38

0

const [term, setTerm] = useState(false);



const onSubmit = useCallback((e) => {

    e.preventDefault();

    if (password !== passwordCheck) {

      return setPasswordError(true);

    }

    if (!term) {

      return setTermError(true);

    }

  }, [password, passwordCheck, term]);



{termError && <div style={{ color: 'red' }}>약관에 동의하셔야 합니다.</div>}

강의에 있는 코드에서 필요한 부분만 뽑아 봤습니다.

먼저 맨마지막 코드는 termError가 true일 때 화면에 표시되는 코드잖아요.

그래서 체크박스에 체크를 안하면 경고문이 뜨게하는거고요.

term은 초기값이 false이고요.

onSubmit에서 !term이면 !term의 값은 true인거고..

그러면 term이 true일 때 setTermError가 true가 된다는 뜻인거고...

경고문은 term이 false일 때(체크박스에 체크를 안 한 상태) 나와야되는데 !term은 true인거잖아요.

그런데 체크박스를 체크 안 한 상태(false)에서 제출을 하면 정상적으로 경고문이 뜨는데 이해가 안가서 질문드립니다.

react javascript

답변 3

1

제로초(조현영)

!term이 현재 체크되지 않은 상태를 의미하는 겁니다.

term이 체크된 상태고요

0

ㅇㅇ

아직 완전히 이해가 안되네요....

그러니까 체크를 안한 상태. 즉, term이 false일 때 termError가 true가 되면서 경고문이 뜨는거야 되는데

!term은 true인데 왜 if조건문에서 !term일 때 setTermError(true)를 리턴하는건지가 궁금합니다.

위의 if조건문에서 !term이 true라는 것은 체크박스에 체크를 한 상태에서 termError를 true로 바꾸겠다는 것으로 저는 해석이 돼서요...

0

제로초(조현영)

그러면 term이 true일 때 setTermError가 true가 된다는 뜻인거고...

이 부분이 잘못되었습니다.

term이 false일 때 !term이 true라서 setTermError가 true가 됩니다.

경고문은 termError가 true일 때 나옵니다.

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

484

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

448

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

434

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

976

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1