2016-03-22 4 views
3

Я до сих пор совершенно новичок в реагировании. Я попытался создать в файл index.html со следующим содержимым:React Uncaught Reference Error - объект/класс не определен

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>React Tutorial</title> 
    <!-- Not present in the tutorial. Just for basic styling. --> 
    <link rel="stylesheet" href="css/base.css" /> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react-dom.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.5/marked.min.js"></script> 
    </head> 
    <body id="html-body"> 
    <div id="content"></div> 
    <script type="text/babel" src="scripts/box.js"></script> 
    <script type="text/babel"> 
    ReactDOM.render(
     <Box />, 
     document.getElementById('content') 
    ); 
    </script> 
    </body> 
</html> 

И в scripts/box.js У меня есть следующий код:

var Box = React.createClass({ 
    render: function() { 
    return (
     <h2>Purple Monkey</h2> 
    ); 
    } 
}); 

При просмотре index.html в браузере, я получаю ошибку Uncaught ReferenceError: Box is not defined. Но когда я перемещаю строку ReactDOM.render в index.html в scripts/box.js сразу после определения класса Box, все работает.

Почему я не могу выполнить ReactDOM.render за пределами scripts/box.js? Как правильно включить/потребовать компонент реагирования, чтобы он мог использоваться другими файлами javascript?

+1

@John Я понятия не имею, как '

Смежные вопросы