2023-02-13
2301
#react
Ohans Emmanuel
3053
Feb 13, 2023 ⋅ 8 min read

How to initialize state using React Hooks

Ohans Emmanuel Visit me at ohansemmanuel.com to learn more about what I do!

Recent posts:

How to build agentic frontend applications with CopilotKit

Build context-aware, agentic frontend applications by connecting React state and actions to LLMs with CopilotKit.

Emmanuel John
Feb 3, 2026 ⋅ 5 min read

Dokploy vs Coolify: Why Dokploy wins in production

A hands-on comparison of Dokploy and Coolify, explaining why self-hosted, Docker-based PaaS tools offer more control, predictable costs, and production clarity.

Chinwike Maduabuchi
Feb 3, 2026 ⋅ 10 min read
Shadcn Ui Component Collection Adoption Guide: Overview, Examples, And Alternatives

Shadcn UI adoption guide: Overview, examples, and alternatives

Explore Shadcn UI, a reusable component collection. See its features, pros, cons, and more to determine if you should use it in your project.

Nefe Emadamerho-Atori
Feb 2, 2026 ⋅ 8 min read
Cache components in Next.js: Faster pages with partial pre-rendering

Cache components in Next.js: Faster pages with partial pre-rendering

Cache components change how rendering decisions are made in Next.js, allowing static and dynamic UI to coexist on the same page without blocking the initial render.

Temitope Oyedele
Jan 30, 2026 ⋅ 8 min read
View all posts

4 Replies to "How to initialize state using React Hooks"

  1. You’d typically use this pattern in conjunction with more interesting patterns such as control props/state reducer etc. Regardless, this pattern exists to make it easier to initialise and reset state within your reusable components.

  2. For me in the useCounter I have to return array instead of object

    return [count, setCount];

    else wil get the Invalid attempt to destructure non-iterable instance error

  3. Your custom hook will return an invalid function or return value is not iterable error because you return an object and not an array.

    you should do this.
    return [count, setCount, reset];

Leave a Reply

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now