2016-07-27 11 views
-1

HTMLファイル内の1つの.jsファイルに定義されてReactJSコンポーネントを使用する方法:今私は、次のように私のHTMLファイルに私のreactjsコンポーネントを定義している

<script type="text/babel"> 
var WorkHistory = React.createClass({ 
...... 
}); 
        ReactDOM.render(
         <WorkHistory 
         />, 
         document.getElementById('work_history') 
        ); 
</script> 

、私は簡単に自分のHTMLページにこれを使用することができます。

WORKHISTORY.jsファイル:

var WorkHistory = React.createClass({ 
    ...... 
    }); 

WORKHISTORY.htmlファイル:

<script type="text/babel"> 
         ReactDOM.render(
          <WorkHistory 
          />, 
          document.getElementById('work_history') 
         ); 
</script> 

どのように私はこれを達成することができます。しかし、私はこのような全体の全体のコードを記述する必要があります??

答えて

0

あなたの質問を正しく理解していれば、別の.jsファイルにコンポーネントを書き込んで、ReactDOM.renderを使用する<script>タグでそれらのコンポーネントにアクセスできますか?その場合は

は、単にあなたのファイルのパスに設定src -attributeと<script> - タグを含める前にレンダリングタグ、私の例のように:私が得るその場合

<script src="./path/to/workhistory.js"></script> 
<script type="text/babel"> 
    ReactDOM.render(
    <WorkHistory />, 
    document.getElementById('work_history') 
); 
</script> 
+0

エラー: 'ReferenceError:WorkHistoryが定義されていません' – Abhay

+0

ああ、まあ、私は今あなたがコードを翻訳するためにバベルを使用しているのを見ています。 Babelはあなたのコードを変換し、そのファイルのスコープをカプセル化し、他の 'script'タグがその変数にアクセスするのを防ぎます。 変数を割り当ててアクセスするときにグローバルスコープの 'window'を使うことができますが、より良い解決策は[ビルドシステム](https:// babeljs。 io/docs/setup /)をBabelと置き換えてください。 – ahstro

関連する問題