Description
When import
ing the UMD build (both production and development) in the browser – that is, from a <script type="module">
– an error is thrown: TypeError: Cannot set property 'React' of undefined
.
The relevant code:
12: (function (global, factory) {
13: typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
14: typeof define === 'function' && define.amd ? define(factory) :
15: (global.React = factory());
16: }(this, (function () { 'use strict';
Throws on line 15 as global
≣ this
is undefined
in a module context.
Is this as simple to fix as passing this || self
on line 16, or is there a catch?
Do you want to request a feature or report a bug?
bug
What is the current behavior?
TypeError: Cannot set property 'React' of undefined
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
https://jsfiddle.net/dja3wfc7/ (Updated)
What is the expected behavior?
I would expect the import
to work, as the same file works if included via <script src=...>
.
Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?
React 16.7.0 (latest stable) – I have found another UMD related bug, #3037, which pertains to React 0.12.2. I have tried that version and indeed it works, it can be import
ed.
Chrome 71, Safari 12 tested (probably all browsers)