state에 members를 만들고 action에 setMembers를 만들었다. 그런데 아래 코드를 보면 setMembers가 결국 받아온 멤버로 교체하는 작업만 한다. 이럴 때는 그냥 setState 메소드를 쓰면 간단하게 해결된다.
// useMemberStore.ts
const useMemberStore = create<State & Action>((set) => ({
members: [], // 여기
selectedMember: null,
setMembers: async (members) => set({ members: members }), // 그리고 여기
setSelectedMember: (member) => set({ selectedMember: member }),
}));
export default useMemberStore;
setMembers는 지우고, 대신 members를 변경하고자 하는 컴포넌트에서 아래와 같이 호출하면 된다.
useMemberStore.setState({members: newMembers})