You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
하지만 이메일과 비밀번호는 화면에 굳이 랜더링 하지 않을 경우, 상태 변수가 아니라 그냥 let email 로 선언하여
const SignInScreen=() =>{
let email;
...
<Input
onChangeText={(a)=> email = a}
...
와 같이 사용해도 문제가 없을까요?? 상태 변수를 사용했을 때, 랜더링이 아닌 또다른 장점이 있는지 질문드립니다!
2번 질문
209페이지의 계산기 코드 중, 어떤 곳에서는 단순히 setResult(0) 과 같이 상태 변수를 바꿔줬고,
또 어떤 곳에서는 setFormula((prev) => {})) 와 같이 함수형으로 상태변수를 바꿔주었습니다.
어떤 이유에서인지 질문드립니다!
3번 질문
setResult(0) 과 같은 비동기적 함수가 어떤 단위로 실행되는지 질문드립니다! (ex. 그 함수를 호출한 함수의 블록이 끝날 때, 그 블록 안에 비동기적 함수들이 전부 실행된다)
4번 질문
컴포넌트의 prop을 입력하는 과정에서
<Input
...
keyboardType={KeyboardTypes.EMAIL}
returnKeyType={ReturnKeyTypes.NEXT}
와 같이 중괄호로 값을 감싸서 넘겨주는데, 이는 중괄호 안의 코드가 자바 스크립트여서 JSX 안에서 사용하기 위해 감싸준건가요?
화면에 렌더링 되는 용도가 아니라면 상황에 따라 let을 이용해도 괜찮습니다.
단, let은 컴포넌트의 밖에 선언해야 컴포넌트가 리렌더링 될 때 초기화 되는 것을 방지할 수 있습니다.
이전 상태 변수를 유지하면서 상태 업데이트를 해야 할 때는 함수형 업데이트를 사용한 것입니다.
예를 들어 setResult(0)은 C(clear) 버튼이 클릭 되었을 때 호출했는데, 초기화는 이전 상태 변수의 값에 영향을 받지 않고 항상 0으로 초기화 해야 하니 함수형 업데이트를 사용하지 않은 것입니다.
모든 변경이 호출된 후에 리렌더링 되면서 적용됩니다.
예를 들어, email 입력 칸에 텍스트를 입력하면, 상태 변경 함수가 총 3개가 호출된다고 가정하겠습니다.
이런 상황에서는 첫 번째 상태 변수가 변경되었을 때 해당 변경 사항이 적용되는 것이 아니라, 3개의 상태 변경 함수가 모두 호출된 후 리렌더링 되면서 한꺼번에 적용됩니다.
console.log를 이용해서 값을 확인하면 조금 더 이해가 쉬울 것이라 생각합니다.
네, JSX 문법입니다.
props를 전달 할 때, 문자열(string)을 제외한 모든 데이터는 { }로 감싸주어야 합니다.
예를 들어 keyboardType="EMAIL" 은 가능합니다. 물론 keyboardType={"EMAIL"} 도 가능합니다.
그 외에 숫자나, 불리언, 배열 등은 다음과 같이 전달해야 합니다. keyboardType={1} keyboardType={false} keyboardType={[1, 2, 3]}
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
1번질문
input 컴포넌트에 입력한 값을 상태 변수에 저장하는 내용입니다.
하지만 이메일과 비밀번호는 화면에 굳이 랜더링 하지 않을 경우, 상태 변수가 아니라 그냥 let email 로 선언하여
const SignInScreen=() =>{
let email;
...
<Input
onChangeText={(a)=> email = a}
...
와 같이 사용해도 문제가 없을까요?? 상태 변수를 사용했을 때, 랜더링이 아닌 또다른 장점이 있는지 질문드립니다!
2번 질문
209페이지의 계산기 코드 중, 어떤 곳에서는 단순히 setResult(0) 과 같이 상태 변수를 바꿔줬고,
또 어떤 곳에서는 setFormula((prev) => {})) 와 같이 함수형으로 상태변수를 바꿔주었습니다.
어떤 이유에서인지 질문드립니다!
3번 질문
setResult(0) 과 같은 비동기적 함수가 어떤 단위로 실행되는지 질문드립니다! (ex. 그 함수를 호출한 함수의 블록이 끝날 때, 그 블록 안에 비동기적 함수들이 전부 실행된다)
4번 질문
컴포넌트의 prop을 입력하는 과정에서
<Input
...
keyboardType={KeyboardTypes.EMAIL}
returnKeyType={ReturnKeyTypes.NEXT}
와 같이 중괄호로 값을 감싸서 넘겨주는데, 이는 중괄호 안의 코드가 자바 스크립트여서 JSX 안에서 사용하기 위해 감싸준건가요?
감사합니다!!
Beta Was this translation helpful? Give feedback.
All reactions