React: Closure Compiler: wrong assignment order in `instantiateReactComponent`

Created on 30 Jan 2017  路  2Comments  路  Source: facebook/react

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.

Most helpful comment

Thanks. Submitted in #8895

All 2 comments

Feel free to open a PR for review! @anmonteiro

Thanks. Submitted in #8895

Was this page helpful?
0 / 5 - 0 ratings