Make updateState available in constructor instead of componentDidMount
See original GitHub issueHey there. We recently started using react-copy-write in a small application and had a great experience so far, but there is still something that interferes with our application flow, which is the inability to call mutate
before a provider is fully mounted.
https://codesandbox.io/s/oowloz2qk9
In this example the app will crash, because mutate
is called before the surrounding provider is fully mounted. We want our ApiProvider to be wrapped around the whole app while still being able to use life cycle hooks to do initialization work that could mutate the state this provider gives us.
What we did for experimental reasons is to move the componentDidMount
code from CopyOnWriteStoreProvider
to a constructor and everything worked fine afterwards. So my question is whether it’s possible to do this switch or if there are special reasons for the design decision to make updateState
only available after componentDidMount
of CopyOnWriteStoreProvider
ran? Are there any performance implications or other pitfalls we are overlooking? If not I’d be glad to open a PR for this issue.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:3
- Comments:6 (2 by maintainers)
Top GitHub Comments
@kafein I’m not going to be doing anything else with this library until React Conf this month. If you can I’d recommend you wait until then.
Hi @aweary Thanks for explanation. I see the point, you are right. Instead of throwing error on mutate function, we can queue requests then in provider cdm lifecycle we can dequeue and call the requests. Is this reasonable?
Not sure about test but i made a pr. #61