2016-11-17 7 views
1

私はreact.jsに基づいたウェブサイトを作成しています。バックグラウンドイメージをインデックスページに自動的にスライドして、carouselの実装方法があるAnt Designの要素{carousel}をインポートします。私はすべてのコンポーネントにルーティングするコードを持っています。今、{carousel}をインデックスページに挿入するにはどうすればいいですか?<carousel>要素をreact.jsに挿入するには

/* eslint no-unused-vars: "off" */ 

import React from 'react'; 
import { render } from 'react-dom'; 
import { Router, Route, browserHistory } from 'react-router' 

import Root from './Root/Root' 
import MainLayout from './MainLayout/MainLayout' 
import MyRoot from './MyRoot/MyRoot' 
import CreateNew from './CreateNew/CreateNew' 
import './index.css' 
import { Carousel } from 'antd'; 

// see https://github.com/ReactTraining/react-router 
render((

    // <Carousel autoplay> 
    // <div><image>1</image></div> 
    // <div><image>2</image></div> 
    // <div><image>3</image></div> 
    // <div><image>4</image></div> 
    // </Carousel>, mountNode; 

    <Router history={browserHistory}> 
    <Route component={MainLayout}> 
     <Route path="/" component={Root}/> 
     <Route path="/myitinerary" component={MyRoot}/> 
     <Route path="/createnew" component={CreateNew}/> 
    </Route> 
    </Router> 
), document.getElementById('root')); 

は正直なところ、私はこれをしなかった理由を、私は推測していないアイデアを持っていない:私は、次のコードを持っています。あるいは、カルーセル情報を保持するために別のコンポーネントを作成する必要がありますか?あるいはこれを行うための他の分かりやすい方法があります。どうもありがとうございます!

+0

MainLayoutコンポーネントに入れておけばいいと思いますが(コメントは付けられていません) –

+0

@SamKuhmonenあなたのご提案ありがとうございますが、とにかく動作しません。 –

+0

@ XiufenXuあなたは私の答えを見ましたか?それはあなたを助けましたか? – Sergio

答えて

1

リアクタは、経路に応じて異なるコンポーネントを呼び出します。したがって、あなたの例では、<Route path="/myitinerary" component={MyRoot}/>のコンポーネントMyRootをどこかで定義する必要があります。

とそのはここから来てように見えます:「./MyRoot/MyRoot」からインポートMyRoot

だから、あなたが持っている可能性があり、そのファイルの内部:

class MyRoot extends React.Component { 
    render(){ 
     return (
      <Carousel autoplay> 
      <div><h3>1</h3></div> 
      <div><h3>2</h3></div> 
      <div><h3>3</h3></div> 
      <div><h3>4</h3></div> 
      </Carousel> 
     ); 
    } 
} 
export default MyRoot; 

そして、それは内部carousellを渡しますコンポーネント だけCarousselをの例は次のようになります。

const { Carousel } = antd; 
 

 
ReactDOM.render(
 
    <Carousel autoplay> 
 
    <div><h3>1</h3></div> 
 
    <div><h3>2</h3></div> 
 
    <div><h3>3</h3></div> 
 
    <div><h3>4</h3></div> 
 
    </Carousel> 
 
, document.getElementById('app'));
.ant-carousel .slick-slide { 
 
    text-align: center; 
 
    height: 160px; 
 
    line-height: 160px; 
 
    background: #364d79; 
 
    color: #fff; 
 
    overflow: hidden; 
 
}
<link href="https://ant.design/index-1.css" rel="stylesheet"/> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 
 
<script src="https://npmcdn.com/antd/dist/antd.js"></script> 
 
<div id="app"></div>

1

'はantd' からインポート{カルーセル}を使用します。 on topコンポーネント

関連する問題