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}
  />

 

편 --- 안