# **Week 11 - 11.1 | Custom Hooks**


## [Notes/Slides Link](https://petal-estimate-4e9.notion.site/19-Custom-hooks-11d7dfd107358002a165e23cf79d67d2)


## Articles/Blogs Link:
-   [**Learn React – A Handbook for Beginners**](https://www.freecodecamp.org/news/react-for-beginners-handbook/#:~:text=React%20is%20a%20very%20popular,operation%20and%20should%20be%20minimized)
-   [**How to Build Your Own React Hooks: A Step-by-Step Guide**](https://www.freecodecamp.org/news/how-to-create-react-hooks/)
-   [**How to create your own custom React Hooks**](https://blog.logrocket.com/create-your-own-custom-react-hooks/)
-   [**React Custom Hooks With Real-Life Examples**](https://betterprogramming.pub/react-custom-hooks-with-real-life-examples-c259139c3d71)
-   [**A Guide to React Custom Hooks**](https://dev.to/rasaf_ibrahim/a-guide-to-react-custom-hooks-2b4h)
-   [**React Custom Hooks**](https://github.com/sergeyleschev/react-custom-hooks?tab=readme-ov-file)
- [**SWR**](https://swr.vercel.app/)
-   [**React Custom Hook - useFetch**](https://dev.to/techcheck/custom-react-hook-usefetch-eid)
-   [**Building Your Own Hooks**](https://legacy.reactjs.org/docs/hooks-custom.html)
-   [**React Custom Hooks fetch data globally and share across components?**](https://stackoverflow.com/questions/57602715/react-custom-hooks-fetch-data-globally-and-share-across-components)
-   [**15 Useful React Custom Hooks That You Can Use In Any Project**](https://dev.to/arafat4693/15-useful-react-custom-hooks-that-you-can-use-in-any-project-2ll8)
-   [**Life and death of the usePrevious hook**](https://giacomocerquone.com/blog/life-death-useprevious-hook/)
-   [**Implementing advanced usePrevious hook with React useRef**](https://www.developerway.com/posts/implementing-advanced-use-previous-hook)
-   [**Supercharging your React Components with the usePrevious Hooks**](https://www.dhiwise.com/post/supercharging-your-react-components-with-the-useprevious-hooks)
-   [**Create a custom debounce Hook in React**](https://blog.logrocket.com/create-custom-debounce-hook-react/)
-   [**How to use debounce hooks in React**](https://stackoverflow.com/questions/75556418/how-to-use-debounce-hooks-in-react)
-   [**React Custom Hook: useOnlineStatus**](https://habr.com/en/articles/752810/)
-   [**Understanding React Query**](https://medium.com/bina-nusantara-it-division/understanding-react-query-11e56960e90c)
-   [**Beginner's Guide to React Query**](https://refine.dev/blog/react-query-guide/#article-objective)


## Official Website Link:
-   [**React**](https://react.dev/)
-   [**useHooks**](https://usehooks.com/)
-   [**Vite**](https://vite.dev/)
-   [**React Router**](https://reactrouter.com/en/main)
-   [**Tanstack Query**](https://tanstack.com/query/latest)
-   [**React Query - NPM**](https://www.npmjs.com/package/react-query)
-   [**Recoil - State Management Library**](https://recoiljs.org/)
-   [**Zustand - State Management Library**](https://zustand-demo.pmnd.rs/)
-   [**Zustand NPM - State Management Library**](https://www.npmjs.com/package/zustand)
-   [**Redux**](https://redux.js.org/)
-   [**Redux Toolkit**](https://redux-toolkit.js.org/)
-   [**Tailwind CSS**](https://tailwindcss.com/)
-   [**React - NPM**](https://react.dev/)
-   [**Node.js**](https://nodejs.org/en)
-   [**Express**](https://expressjs.com/)
-   [**Express - NPM**](https://www.npmjs.com/package/express)
-   [**Express Middleware**](https://expressjs.com/en/guide/using-middleware.html)
-   [**Express Routing**](https://expressjs.com/en/guide/routing.html)
-   [**Express Error Handling**](https://expressjs.com/en/guide/error-handling.html)
-   [**NPM**](https://www.npmjs.com/)
-   [**JWT**](https://jwt.io/)
-   [**JWT - NPM**](https://www.npmjs.com/package/jsonwebtoken)
-   [**MongoDB**](https://www.mongodb.com/)
-   [**MongoDB - NPM**](https://www.npmjs.com/package/mongodb)
-   [**MongoDB Cloud | MongoDB**](https://www.mongodb.com/products/platform/cloud)
-   [**Mongoose**](https://mongoosejs.com/docs/)
-   [**Mongoose - NPM**](https://www.npmjs.com/package/mongoose?azure-portal=true)
-   [**Bcrypt**](https://www.npmjs.com/package/bcrypt)
-   [**Bcrypt - NPM**](https://www.npmjs.com/package/bcrypt)
-   [**Zod**](https://zod.dev/)
-   [**Zod - NPM**](https://www.npmjs.com/package/zod)
-   [**Dotenv**](https://www.dotenv.org/docs/)
-   [**Dotenv - NPM**](https://www.npmjs.com/package/dotenv)
-   [**EJS**](https://ejs.co/)
-   [**EJS - NPM**](https://www.npmjs.com/package/ejs)
