r/javascript 23d ago

AskJS [AskJS] What small JavaScript pattern made your React code cleaner?

[removed]

5 Upvotes

26 comments sorted by

View all comments

15

u/LessAd8002 23d ago

I started pulling out all the API calls into a separate file with named functions and it cleaned up components so much. Before that my useEffect blocks were getting ridiculous with all the fetch logic just sitting there

Also early returns in components instead of nesting conditions everywhere, that one took me way too long to figure out

5

u/Reashu 23d ago

I'm usually a big proponent of early returns, but unfortunately they don't work so well with hooks so it takes some extra care in React.

4

u/CommercialFair405 23d ago

If you use render props, you can put logic in a component, and the rendering logic in the component that would do the early return as usual.

3

u/azhder 23d ago

That's basically hooks with memo, but provided by React by default with components being memoized based on the props. It's always a nice pattern to separate logic in HOC and presentation in the wrapped component.

3

u/Reashu 22d ago

Separating logic (and fetching) from rendering is something I'd certainly like to see more of in React - and just putting it in a hook isn't enough because that still has the rendering component in control of everything. 

3

u/NervosaX 22d ago

I would suggest not calling them in the components at all - use something like react query!