Как в ReactJS организовать подключение компонента из другого файла?

406
20 января 2017, 09:19

Уважаемые знатоки React! Подскажите, как правильно организовать подключение и использование компонента, который хранится в отдельном файле? В примере ниже мне нужно внутри файла main.js использовать компонент Header, который хранится в файле componets/header.js

Index.html:

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/css/normalize.css">

  <link rel="stylesheet" href="https://unpkg.com/purecss@0.6.2/build/pure.css">
  <link rel="stylesheet" href="/css/style.css">
  <script src="https://unpkg.com/react@15/dist/react.js"></script>
  <script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>
  <script src="https://unpkg.com/babel-standalone@6/babel.js"></script>
       <script src="/js/main.js" type="text/babel"></script>
  <title>Тайтл</title>
</head>
<body>
<div id="layout"></div>
</body>
</html>

/js/components/header.js:

"use strict";
class Header extends React.Component {
    render() {
        return <header>This is Header</header>;
    }
}

/js/main.js:

'use strict';
import Header from 'components/header';
ReactDOM.render(
    <Header />,
    document.getElementById( 'layout' )
);
Answer 1

В вашем случае (вы не используете сборщики), подключайте файл с вашим компонентом через тег script:

<script src="/js/components/header.js" type="text/babel"></script>
READ ALSO
Чем заменить setAttribute в IE?

Чем заменить setAttribute в IE?

Работает везде кроме IE

263
iphone игнорирует required в input html

iphone игнорирует required в input html

При нажатии на кнопку «Отправить» в форме, iPhone игнорирует обязательные поля input с атрибутом required и отправляет форму, как исправить?

330
необходимо что бы блок исчезал через несколько секунд

необходимо что бы блок исчезал через несколько секунд

Делаю так не работает, в чем может быть проблема?

249
Слайдер как на амазоне

Слайдер как на амазоне

Всем добрый день!

339