Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don’t see the similarity. Since hooks aren’t actually passed to, or injected into components, there’s no way to evaluate the same hooks in different ways.

I can’t have a hook that talks to a real API in one environment but to a fake one in another. I’d have to use Jest style mocking, which is more like monkey patching.

From the point of view of a React end user, there’s also no list of effects that I can access. I can’t see which effects or hooks a component carries around, which ones weren’t yet evaluated, and so on.



This post from the React team has more detail on that topic: https://overreacted.io/algebraic-effects-for-the-rest-of-us/


You're right, it's the use of the Context that allows for the injection of the effects. It's also all handled at runtime which does unfortunately mean that the contexts supplying the effects can't be required at compile time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: