0

Я использую реагировать-маршрутизатор v4 для проекта здесь мои CDNsРеагировать ошибку v4 маршрутизатор "Uncaught ReferenceError: маршрутизатор не определен"

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-router/4.0.0-alpha.3/react-router.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.min.js"></script> 

и вот мой код

ReactDOM.render(

    <Router> 
    <Route path="/" component={LoginForm} /> 
     </Router> 

    ,document.getElementById('root')); 
</script> 

LoginForm код похож на этот

var LoginForm = React.createClass({ 
render: function() { 
return (
    <div> 
    <div id="postdiv"> 
<form id="customerForm" data-toggle="validator"> 
<div className="form-group"> 
<span className="label label-default">Login</span> 
... 

Я получаю эту ошибку

Uncaught ReferenceError: Router is not defined 
at eval (eval at n.run (browser.min.js:3), <anonymous>:79:3) 
at Function.n.run (browser.min.js:3) 
at l (browser.min.js:3) 
at i (browser.min.js:3) 
+0

Вам нужно Webpack для компиляции JSX, а затем вы можете импортировать реагировать маршрутизатор, как это: импорт {Router} от «среагировать-маршрутизатор»; – Shota

+0

Попробуйте использовать последний выпуск React Router v4 https://cdnjs.cloudflare.com/ajax/libs/react-router/4.0.0-beta.5/react-router.min.js – Freez

ответ

0

Когда вы import react-router из cdn вы можете использовать его как

<ReactRouter.Router> 
     <ReactRouter.Route path="/" component={LoginForm} /> 
    </ReactRouter.Router> 

Кроме того, из вашего комментария, похоже, что вы либо не экспортировал LoginForm компонент или не импортирован с должным

Вы необходимо сделать следующее:

var LoginForm = React.createClass({ 
render: function() { 
return (
    <div> 
    <div id="postdiv"> 
<form id="customerForm" data-toggle="validator"> 
<div className="form-group"> 
<span className="label label-default">Login</span> 
... 
)} 
}) 

export default LoginForm; 

Al так что вам нужно импортировать его как

<script src="path/to/loginFormFile"></script> 
+0

уже пробовал это, но дает me: «Предупреждение: React.createElement: тип недопустим - ожидается строка (для встроенных компонентов) или класс/функция (для составных компонентов), но получила: undefined. Вероятно, вы забыли экспортировать свой компонент из файла, определенный в. " –

+0

Вы экспортируете и импортируете компонент формы входа –

+0

Я думаю, что iam не использует npm, мне не нужно использовать импорт/экспорт, просто CDNs, я прав? * извините, что я новичок в реакции: D * –