React Native
onChangeText의 Type은 ((text: string) => void) | undefined
Eppo:)
2024. 8. 7. 19:04
(e: React.ChangeEvent<HTMLInputElement>) => void
이거 아님 주의
아이디랑 비밀번호를 받는 로그인 페이지를 만들면서
두 value 를 하나의 state로 관리하고 싶었다.
inputs의 정석인 아래 코드를 적용하려고 했는데
const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const { name, value } = e.target;
setInputs({
...inputs,
[name]: value,
});
};

(text:string) => void 형식으로 바꿔야 한단다
name을 넘길 수 있는 방법도 없고 해서 이걸 함수로 바꿔서 해보기로 함
const onChangeText = (name: string) => (text: string) => {
setInputs({
...inputs,
[name]: text,
});
};
<LabelInput
value={email}
autoFocus={true}
setValue={onChangeText('email')}
text="이메일"
error={!isEmpty(msg)}
guideText={isEmpty(msg) ? '' : msg}
/>
편 --- 안