When consuming React from source with the Google Closure Compiler, this bit of code isn't being run in the correct order.
It seems like the Google Closure Compiler transformation is changing the function to a var assignment. It messes up the behavior because the original instantiateReactComponent function is hoisted. My thought is it's related to the fact that the instantiateReactComponent function is exported from that module.
Anyway, this produces an error because the assignment to ReactCompositeComponentWrapper.prototype is now in the wrong order (assignment -> function definition, when we want definition -> assignment).
This may also be related or the root cause of #8887.
The most straightforward solution is to bring the Object.assign call after the function is declared, which I've verified works correctly. I'm happy to submit a PR with the described approach.
Feel free to open a PR for review! @anmonteiro
Thanks. Submitted in #8895
Most helpful comment
Thanks. Submitted in #8895