강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

dvdve님의 프로필 이미지
dvdve

작성한 질문수

핸즈온 리액트 네이티브

9.4 :: 닉네임 변경하기

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

작성

·

96

·

수정됨

0

입력될때 값은 console.log에

kkkkkk

 

라고 제대로 들어오는데

 

onSubmit 안에서 userInfo의 경우 console.log에 k 한글자만 나타나는 상태라 질문드립니다.

 

깃주소는

https://github.com/dvrakry/rn-photo2
입니다.

답변 2

1

김범준님의 프로필 이미지
김범준
지식공유자

아래 라인에

https://github.com/dvrakry/rn-photo2/blob/master/src/screens/UpdateProfileScreen.js#L53

onSubmit을 추가하세요.

 

 }, [navigation, disabled, onSubmit]);
dvdve님의 프로필 이미지
dvdve
질문자

감사합니다!

0

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

닉네임을 수정 후 확인 버튼을 누를 때, 한 글자만 출력되는 문제를 겪고 계시군요. 이 문제는 리액트 네이티브에서 useState를 사용하여 값이 제대로 업데이트되지 않을 때 발생할 수 있습니다.

코드를 보니 TextInput에서 onChangeTextsetDisplayName(text.trim())을 사용하고 있습니다. 여기서 trim()이 사용되면서 불필요하게 입력값이 잘려나갈 수 있습니다. 특히 trim()은 문자열의 앞과 뒤의 공백을 제거하기 때문에 의도치 않은 결과를 초래할 수 있습니다. 이 경우:

  1. onChangeText={(text) => setDisplayName(text)}로 변경하여 공백 제거 기능을 우선적으로 확인해보세요.
  2. useEffect의 종속성 배열 부분이 올바르게 작성되었는지 재확인해 보세요.
  3. ‘NickName’의 값을 업데이트하기 전과 후의 상태를 console.log로 추적하여 디버깅이 필요할 수 있습니다.

이 외에도 비슷한 이슈를 다룬 강의 질문 URL을 참고해 보시면 도움이 될 것입니다:

올바른 useState 사용법과 이벤트 핸들링을 통해 문제를 해결하는 방향으로 나가시길 바랍니다.

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

dvdve님의 프로필 이미지
dvdve

작성한 질문수

질문하기