[최종 프로젝트] 문자열 값에 대한 type 정의

2024. 11. 9. 00:44·프론트엔드/Next.js

 

 

 

문자열 (함수)에 대한 Type 정의

 

 

리팩토리를 하는 동안 set함수를 props로 보내야하는 일이 생겼고 그로 인해 추가로 Type 설정이 필요했다.

// Page.tsx (부모)
...
  const [fuelType, setFuelType] = useState(""); // 연료 타입 상태 추가
...
  <InputField
    id="car"
    ...
    fuelType={fuelType} // fuelType 전달
    setFuelType={setFuelType} // setFuelType 전달
  />
 

// InputField.tsx
const InputField: React.FC<InputFieldProps> = ({
  id,
  label,
  register,
  errors,
  requiredMessage,
  placeholder,
  unit,
  fuelType,
  setFuelType 
...
  
  
// type 지정
  export interface InputFieldProps {
  id: keyof FormData;
  label: string;
  register: UseFormRegister<FormData>;
  errors: FieldErrors<FormData>;
  requiredMessage?: string;
  placeholder?: string;
  unit: string;
  fuelType: string;
  setFuelType: string;
}

 

그런데 호출할 수 없다는 에러가 뜨네..?

 

 

 

오류의 이유

해당 오류는 setFuelType은 상태를 업데이트하는 함수이기 때문에 string이 아니어서 나는 오류였다.

순간 지정된 값을 가지고 온다고 생각하고 string으로 지정한 것이었는데... 다시 생각해보니까 setFuelType이었던 것..

 

 

해결

상태 변경 함수와 같은 형태를 타입 지정하기 위해서는 `Dispatch<setStateAction<string>>` 으로 설정을 해줘야한다고 한다.

 

이렇게 설정하니까 오류가 말끔하게 사라졌다..ㅎㅎ 코드도 일종의 stirng과 같아서 저렇게 들어가는가 싶긴하지만..?

무튼 하나 더 배웠어~

 

 

 

'프론트엔드 > Next.js' 카테고리의 다른 글

[최종 프로젝트 - 리팩토링] 컴포넌트 동적 활용  (0) 2024.12.04
[최종 프로젝트 - 리팩토링] props 구조분해할당  (0) 2024.12.02
[최종 프로젝트] 비슷한 두개의 컴포넌트를 효율적으로 사용하기  (0) 2024.11.08
[최종 프로젝트] React 함수, 매개변수: 가독성을 높이는 작은 습관  (0) 2024.11.02
[최종 프로젝트] Chart.js를 활용한 데이터 시각화  (1) 2024.10.31
'프론트엔드/Next.js' 카테고리의 다른 글
  • [최종 프로젝트 - 리팩토링] 컴포넌트 동적 활용
  • [최종 프로젝트 - 리팩토링] props 구조분해할당
  • [최종 프로젝트] 비슷한 두개의 컴포넌트를 효율적으로 사용하기
  • [최종 프로젝트] React 함수, 매개변수: 가독성을 높이는 작은 습관
장쫑이이
장쫑이이
  • 장쫑이이
    JongHoy
    장쫑이이
  • 전체
    오늘
    어제
    • 코딩공부하기 (41)
      • 프론트엔드 (41)
        • Next.js (12)
        • React (16)
        • TypeScript (2)
        • 상태관리 (1)
        • HTML&CSS (1)
        • 기타 (9)
      • 과거 공부 내용 (0)
        • JSCODE 그룹스터디 (0)
        • JS 객체 지향 프로그래밍 (0)
        • 리엑트 (0)
        • 제로초 - 웹 게임을 만들며 배우는 리엑트 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    While문
    map
    필터링
    github
    isNan
    Filter
    setAttribute
    destructuring
    slice
    LastIndexOf
    행렬의 덧셈
    reduce
    팀프로젝트
    styled-components
    유클리드 호제법
    이중 for문
    git
    속성 추가
    useState
    토글
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
장쫑이이
[최종 프로젝트] 문자열 값에 대한 type 정의
상단으로

티스토리툴바