我正在写一个基于react.js的网站。我想在我的索引页面中自动滑动背景图片,然后从Ant Design导入元素{carousel},其中包含如何使用carousel
的实现。我有代码将路由到每个组件。现在,我想知道如何将{carousel}插入索引页面。我有以下代码:
/* 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 :(得分:1)
React Router会根据路径调用不同的组件。因此,在您的示例<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 :(得分:1)
使用来自'antd'的导入{Carousel}; 在顶级组件