Open wildCodingWarrior opened 1 year ago
이 부분은 styled-reset을 사용하시면 더 간결하겠네요.
이 부분은 axios.create를 이용해서 공통 base가 되는 axios를 만들어 관리하는 편이 좋겠습니다.
또 리덕스는 사용 안하는 것 같은데, 지워도 괜찮을 것 같아요.
usePostQueries, usePost라는 이름의 custom hook을 만들어서 query, mutation 부분을 따로 관리하는 방식으로 logic을 더 간결화 할 수 있지 않을까 생각합니다. 충분히 가능하실거에요. 아래는 todos로 만들어본 예시 코드입니다.
export const useTodos = () => {
const {data: todos} = useQuery("todos", fetchTodos);
const queryClient = useQueryClient();
const addTodo = useMutation(addTodo, {
onSuccess: () => {
queryClient.invalidateQueries("todos");
},
});
const deleteTodo = useMutation(deleteTodo, {
onSuccess: () => {
queryClient.invalidateQueries("todos");
},
});
const updateTodo = useMutation(updateTodo, {
onSuccess: () => {
queryClient.invalidateQueries("todos");
},
})
return {todos, addTodo, deleteTodo, updateTodo }
};
Overview