Cover image for Custom react hooks vs services

Custom react hooks vs services

chiangs profile image Stephen E. Chiang ・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?


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? medium.com/@dan_abramov/making-sen...

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 🍻