상태관리 라이브러리/zotai

[zotai] useSetAtom 타입 선언 문제. 수동 선언

tea-tea 2025. 5. 12. 09:30

문제

useSetAtom을 props로 넘겨줘야 할 때, 타입 선언을 어떻게 할까.

setAtom은 @type 파일에서 별도로 선언된 타입이 없다.
그래서 아래처럼 수동으로 선언해야 한다.

// atom 상태값
interface MyAtom {
	foo: number;
    bar: string;
}

const switchAtom = atom<MyAtom>({foo:1, bar:"hello"});

// useSetAtom은 이런 식의 타입을 가짐
type signitureSetMyAtom= (args_0: SetStateAction< MyAtom >) => void

const setMyAtom : signitureSetMyAtom = useSetAtom(myAtom)