Search code examples
javascriptreactjsrequirejs

React not defined when loading with RequireJS


Given the JavaScript below:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script>
<script type="text/javascript">
    require.config({
        paths: {
            'react': 'https://cdnjs.cloudflare.com/ajax/libs/react/16.2.0/umd/react.production.min',
            'react-dom': 'https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.2.0/umd/react-dom.production.min'
        }
    });
    require(['react', 'react-dom'], function () {
        var x = React;//Error - React is not defined
    });
</script>

Why am I getting an error in the console React is not defined?

enter image description here


Solution

  • You should declare the modules you're importing:

    requirejs(['react', 'react-dom'], function(React, ReactDOM) { })
    

    Here's a working example:https://jsfiddle.net/remarkablemark/mejyoLk6/?utm_source=website&utm_medium=embed&utm_campaign=mejyoLk6