inflearn logo
강의

講義

知識共有

ハンズオンリアクトネイティブ

4.12 :: useEffect Hookで目的のタスクを実行する

마지막 useEffect 부분 질문드립니다.

解決済みの質問

100

dvdve

投稿した質問数 21

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  useEffect(() => {setDisabled(!email || !password);   }, [email, password]);

여기서

setDisabled(!email || !password);

 

!email || !password 이부분이 잘 이해가 안가서 질문드립니다!

react-native

回答 2

0

beomjun

안녕하세요,

 

NOT 연산과 OR 연산을 확인하면 이해할 수 있습니다.

NOT: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_NOT

OR: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR

 

email과 password는 문자열이고, 빈 문자열은 false로 처리됩니다.

따라서, !email은 email이 입력되어 있지 않으면 true로 처리되고, !password는 password가 입력되어 있지 않을때 true로 처리됩니다.

 

OR(||)는 둘 중 하나만 true여도 true가 되기 때문에, !email || !password는 email 혹은 password중 하나만 빈 값이어도 결과가 true가 됩니다.

 

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. dvdve님.

useEffect 안의 setDisabled(!email || !password); 부분에 대해 설명드리겠습니다.

이 코드는 이메일과 비밀번호 입력 상태에 따라 버튼을 활성화하거나 비활성화하는 로직입니다. 구체적으로는 다음과 같습니다:

  • !email || !password: 이메일이나 비밀번호 중 하나라도 비어 있을 때 참(true)이 되는 논리식입니다. 즉, 입력란 중 하나라도 값이 없으면 참이 됩니다.
  • setDisabled: 이 함수는 버튼 등의 요소가 비활성화될지 여부를 설정하는 함수입니다. 위 논리식의 결과가 참이면 setDisabled(true)로 작동하여 버튼을 비활성화하고, 거짓이면 setDisabled(false)로 작동하여 버튼을 활성화합니다.

그렇기 때문에 이메일과 비밀번호가 모두 입력되지 않은 상태일 때 버튼을 비활성화하여 사용자에게 비어 있는 입력란을 모두 채우도록 강제할 수 있습니다.

유사한 질문과 답변을 통해 더욱 자세한 설명을 확인하고 싶으시다면, 아래 URL을 참고하시면 도움이 될 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

expo 가 업데이트 되면서 문제가 발생한거같습니다.

0

342

2

navigation.replace() 작동하지 않습니다.

0

147

2

UpdateProfileScreen 에서 사진 버튼 클릭시 오류발생.

0

132

2

닉네임 수정 후 확인 버튼을 누를시 한글자만 출력됩니다.

0

177

2

모달창에서 버튼이 출력되지 않습니다.

0

104

2

로그인 에러 출력시 default값만 나옵니다.

0

144

2

안드로이드 기기에서 SignUp 화면 관련 질문드립니다.

0

85

2

간단한 질문 하나만 드리겠습니다!

0

76

2

text.trim() 부분에서 오류가 발생합니다.

0

124

2

profile 화면에서 내가 쓴 글이 나타나지 않습니다.

0

140

2

글 저장시 파일 저장위치 관련 질문드립니다!

0

111

2

구글 지도 API 관련 오류로 질문드립니다!

0

142

1

HeaderRight 버튼이 작동하지 않습니다.

0

88

2

사진이 나오지 않는 문제로 질문드립니다.

0

113

2

defaultProps 관련 문의 드립니당

0

244

2

이미지 목록을 받아오는 부분에서 IOS 에서 문제가 발생합니다.

0

129

2

안드로이드 기기에서 헤더 부분이 작동이 안됩니다.

0

87

2

[TypeError: unsubscribe is not a function (it is undefined)] 오류 발생으로 질문드립니다.

0

108

2

7.15 :: 상태 변수와 컴포넌트 언마운트 관련 질문드립니다!

0

98

2

SIgnIn SignUp 화면이 안나옵니다.

0

126

2

ImagPickerScreen을 만드는 과정에서 문제가 발생하여 글을 남깁니다.

0

208

2

eslint.config.mjs 파일에 plugin 설정방법

0

747

1

ESLint.json 파일이 생성되지 않습니다.

0

236

2

[환경변수 설정]

0

272

1