<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/habr/best-of/2023/10" -->

---
title: Best habr posts — October 2023 | daily.dev
description: The most upvoted habr posts from October 2023, curated by the daily.dev community.
canonical: https://daily.dev/sources/habr/best-of/2023/10
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/habr/best-of/2023/10
og:type: website
og:site_name: daily.dev
og:title: Best habr posts — October 2023 | daily.dev
og:description: The most upvoted habr posts from October 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of habr — October 2023

1. 1  
[](https://daily.dev/posts/react-three-js-creating-your-own-3d-shooter-part-1-1glshmkla "React + Three.js. Creating your own 3D shooter. Part 1")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 3y  
React + Three.js. Creating your own 3D shooter. Part 1  
This article explores the integration and features of React Three Fiber, a library that combines React and Three.js for creating 3D graphics on the web. It discusses the advantages of using React Three Fiber, the relevance of web game development, and performance aspects to consider. The article provides a step-by-step guide on setting up the project, customizing the Canvas display, adding a floor surface, lighting, physics, camera movement, importing 3D models, enabling shadows, and adding animation. The next part of the article will cover further improvements to the game.  
108  
3
2. 2  
[](https://daily.dev/posts/react-custom-hook-usestorage-7c33obhd1 "React Custom Hook: useStorage")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 3y  
React Custom Hook: useStorage  
Discover the potential of React custom hooks with a focus on the 'useStorage' hook. It provides convenient functions for storing and retrieving data in the browser's local or session storage. The hook handles serialization, deserialization, and automatic synchronization with the component's state. The remove function allows for easy deletion of stored values. Use the hook in various scenarios, such as persisting user preferences in a settings panel.  
67  
3
3. 3  
[](https://daily.dev/posts/react-custom-hook-usestatewithhistory-hlkntwuly "React Custom Hook: useStateWithHistory")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 3y  
React Custom Hook: useStateWithHistory  
Explore the benefits and use cases of the useStateWithHistory custom React hook which provides automatic history tracking, efficient memory usage, and time-travel functionality.  
52
4. 4  
[](https://daily.dev/posts/react-custom-hook-usetimeout-mzv5vqe5w "React Custom Hook: useTimeout")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 3y  
React Custom Hook: useTimeout  
Learn about the useTimeout hook in React, which allows for easy setting, clearing, and resetting of timeouts within a component. The hook ensures that the callback function remains up to date and optimizes performance by memoizing certain functions. It can be used in various scenarios where timed actions are required.  
51
5. 5  
[](https://daily.dev/posts/react-custom-hook-usestatewithvalidation-yzoxesgbx "React Custom Hook: useStateWithValidation")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 3y  
React Custom Hook: useStateWithValidation  
Explore the useStateWithValidation custom React hook, which combines the useState and useCallback hooks to provide an elegant solution for managing state with validation.  
46  
2

[See all habr archives](/sources/habr/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/habr/best-of/2023/10#page","url":"https://daily.dev/sources/habr/best-of/2023/10","name":"Best habr Posts — October 2023","description":"The most upvoted habr posts from October 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/habr/best-of/2023/10#items","numberOfItems":5,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/react-three-js-creating-your-own-3d-shooter-part-1-1glshmkla","name":"React + Three.js. Creating your own 3D shooter. Part 1"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/react-custom-hook-usestorage-7c33obhd1","name":"React Custom Hook: useStorage"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/react-custom-hook-usestatewithhistory-hlkntwuly","name":"React Custom Hook: useStateWithHistory"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/react-custom-hook-usetimeout-mzv5vqe5w","name":"React Custom Hook: useTimeout"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/react-custom-hook-usestatewithvalidation-yzoxesgbx","name":"React Custom Hook: useStateWithValidation"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"habr","item":"https://daily.dev/sources/habr"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/habr/best-of"},{"@type":"ListItem","position":5,"name":"October 2023"}]}]}
```

