私はただ反応して、自分で試してみました。画面上でハローワールドを取得するためだけにwebpackを設定して数時間経った後、私はすぐに始められると思ったが、ファイルから別のコンポーネントをレンダリングしようとすると次の問題が発生した。
私のメインファイルはapp.jsで、すべてをレンダリングします。
import React from 'react';
import ReactDOM from 'react-dom';
import {Hello} from './hello';
ReactDOM.render(
<Hello/>,
document.getElementById('app')
);
Helloコンポーネントは、同じフォルダー内のhello.jsから取得されます。
import React from 'react';
class Hello extends React.Component{
render(){
return (
<h1>Hello, world!</h1>
)
}
}
export default Hello;
インポート/エクスポートなしでapp.jsだけですべてを行っていたとき、それはうまくレンダリングされていました。また、正常にコンパイルされます。しかし、コンソールには現在多くのエラーがあります。だから私は何が欠けていますか?
ありがとう
ゲルド
エクスポートはdefault
であるため、インポートコンポーネント名を中括弧で囲む必要はありません。
import Hello from './hello';
これは詳細な技術記事です 最終的なES6モジュールの構文に関するAxel Rauschmayerの有用な構文です。
そして、ここでは少し技術的な投稿があります 同じトピックについて。
使用するデフォルトクラスをインポートするとき
import ClassName from 'something';
使用する他のクラスをインポートするとき
import {ClassName} from 'something';
例:
hello.jsファイル内
import React from 'react';
class Hello extends React.Component{
render(){
return (
<h1>Hello, world!</h1>
)
}
}
class Other extends React.Component{
render(){
return (
<h1>Hello, world!</h1>
)
}
}
export default Hello;
export Other;
他のファイルに
import Hello, {Other} from './hello';
ヒント:デフォルトクラスを他の名前でインポートすることもできます
import Component, {Other} from './hello';