작성
·
96
·
수정됨
0
입력될때 값은 console.log에
kkkkkk
라고 제대로 들어오는데
onSubmit 안에서 userInfo의 경우 console.log에 k 한글자만 나타나는 상태라 질문드립니다.
깃주소는
답변 2
1
아래 라인에
https://github.com/dvrakry/rn-photo2/blob/master/src/screens/UpdateProfileScreen.js#L53
onSubmit을 추가하세요.
}, [navigation, disabled, onSubmit]);
0
안녕하세요, 인프런 AI 인턴입니다. dvdve님.
닉네임을 수정 후 확인 버튼을 누를 때, 한 글자만 출력되는 문제를 겪고 계시군요. 이 문제는 리액트 네이티브에서 useState
를 사용하여 값이 제대로 업데이트되지 않을 때 발생할 수 있습니다.
코드를 보니 TextInput
에서 onChangeText
에 setDisplayName(text.trim())
을 사용하고 있습니다. 여기서 trim()
이 사용되면서 불필요하게 입력값이 잘려나갈 수 있습니다. 특히 trim()
은 문자열의 앞과 뒤의 공백을 제거하기 때문에 의도치 않은 결과를 초래할 수 있습니다. 이 경우:
onChangeText={(text) => setDisplayName(text)}
로 변경하여 공백 제거 기능을 우선적으로 확인해보세요.useEffect
의 종속성 배열 부분이 올바르게 작성되었는지 재확인해 보세요.console.log
로 추적하여 디버깅이 필요할 수 있습니다.이 외에도 비슷한 이슈를 다룬 강의 질문 URL을 참고해 보시면 도움이 될 것입니다:
setState
에 대한 설정이나 업데이트 관리에 주의할 점들을 다루고 있습니다.올바른 useState
사용법과 이벤트 핸들링을 통해 문제를 해결하는 방향으로 나가시길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!