0
こんにちは、私はreactjsのnewbです。他のライブラリからいくつかのコードを引き出して、どのように動作するのか見てみたかったのです。残念ながら、私は反応反応型カルーセルを使用しようとしています。私はこれが本当に簡単な質問であることを理解していますが、私はかなり長い間このことに固執していますし、ヒントに感謝しています!どうもありがとうございます!Reactjs - react-reponsive-carousel
ここは、私は現在しようとしているものです:
をIndex.jsx
import React from 'react';
import {render} from 'react-dom';
import AwesomeComponent from './AwesomeComponent.jsx';
import CarouselComponent from './Carousel.jsx'
class App extends React.Component {
render() {
return (
<div>
<p>Hello React!</p>
<AwesomeComponent />
<CarouselComponent />
</div>
);
}
}
render(<App/>, document.getElementById('container'));
Carousel.jsx:
import React from 'react';
import Carousel from 'react-responsive-carousel';
class CarouselComponent extends React.Component {
render() {
return (
<div>
<Carousel>
<div>
<img src="assets/1.jpeg" />
<p className="legend">Legend 1</p>
</div>
<div>
<img src="assets/2.jpg" />
<p className="legend">Legend 2</p>
</div>
<div>
<img src="assets/3.jpg" />
<p className="legend">Legend 3</p>
</div>
</Carousel>
</div>
);
}
}
export default CarouselComponent;
I「はエラーコンソールで見る今すぐ:
Warning: React.createElement: type is invalid -- expected a string (for
built-in components) or a class/function (for composite components) but got:
undefined. You likely forgot to export your component from the file it's
defined in. Check the render method of `CarouselComponent`.
in CarouselComponent (created by App)
in div (created by App)
in App
ありがとうございます!大括弧を付けると違いは何ですか?参照可能にしていますか? – Tim
「反応応答カルーセル」カルーセルコンポーネント[githubのソースコード](https://github.com/leandrowd/react-responsive-carousel/blob/v3.1.19/src/components/Carousel.js)を確認しました。デフォルトのエクスポートがあるように見えます。これは、中括弧をインポートするときに中括弧を使用する必要がないことを意味します。なぜ、それがあなたのために機能しないのか分かりません。デフォルトでコンポーネントがエクスポートされていない場合は、中カッコが必要です。コンポーネントをインポートするときにその名前を指定する必要があります。 [詳細な説明](https://stackoverflow.com/questions/36795819/when-should-i-use-curly-braces-for-es6-import)です。 – Mustafa