Custom react hooks vs services

twitter logo github logo ・1 min read

I'm having a tough time explaining the difference between a custom react hook and a service.

It's easy to see the utility of the built in ones, but what about custom hooks?

with a regular service, I can :

  • import it to any component, provide it's functions and or state.
  • call or make use of react hooks.

When would you write a custom hook and when would you opt for a service?

What can you do with a custom hook that you can't do with a service?

twitter logo DISCUSS (6)
markdown guide

A service could be used wherever you want, a custom hook only inside a React component, you could use your service inside a custom hook or an async action creator (for Redux) or any other place you want.


Then what is the advantage of a custom hook over a service?


Inside a custom hook you can access to React context or define an state, things you can't inside a service outside the React application.

You can if it's a service inside the react application...

Hooks define state per call. This is very different. You can pass values between them and they execute while rendering.

Maybe this article helps?

Ah, so whereas services can be used as singletons, hooks are not because state is isolated...

However, if I don't need to define a state it can either be used as a hook or as a service?

Thanks for the article...and all that you do for react in general, cheers 🍻

Classic DEV Post from Apr 29

Are we pretentious and arrogant?

Do you think that we, as developers, have a slighly tendency to become quite selfish because of our so specific-skills?

Stephen E. Chiang profile image
Pursuing a perpetual state of flow. Learn, Build, Eat, Sleep, Improve. Apply coffee / beer liberally.