들어가며
사용한 것
Back
Golang
Echo
func postContents(c echo.Context) (err error) {
b := new(model.Book)
if err = c.Bind(b); err != nil {
return
}
//... 생략
//...
json.NewDecoder(res.Body).Decode(&sr)
//...
gocolly (goquery 포함)
Front
create-react-app + Typescript
react-query
// 커스텀 훅. 첫번째 인자는 키값이고 react-query 캐싱을 이용할때 쓰는 것 같다.
export function useSearchBook() {
return useMutation("searchBook", async (title: string) => {
return searchBookByName(title);
});
}
// App.tsx
//..
const searchMutation = useSearchBook();
//..
const onSubmit = async ({ title }: FormData) => {
searchInputRef.current?.focus();
await searchMutation.mutate(title);
};
//..
searchMutation.isLoading // 로딩 상태 true/false
//..
searchMutation.data
//
tailwindcss + tailwindui
Deploy
스택
좋았던 점
아쉬운 점
개선할 점