Если вы используете class
компоненты, вам нужен метод render
:
class Enjoy extends Component {
const amppage = (
<Fragment>
<Title>Hello guys :)</Title>
<Link rel="canonical" href="http://localhost" />
<h1>Hello World</h1>
<Carousel lightbox width="400" height="300" layout="responsive" type="slides">
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
</Carousel>
</Fragment>
);
render() {
return amppage;
}
}
export default Enjoy;
Однако, поскольку вы не используете методы жизненного цикла, вы можете использовать вместо этого функциональный компонент:
const Enjoy = (props) => {
const amppage = (
<Fragment>
<Title>Hello guys :)</Title>
<Link rel="canonical" href="http://localhost" />
<h1>Hello World</h1>
<Carousel lightbox width="400" height="300" layout="responsive" type="slides">
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
</Carousel>
</Fragment>
);
return(
amppage
)
}
export default Enjoy;
Если вы используете функциональный компонент, вы можете просто вернуться (как вы это делали).Поскольку тело функционального компонента совпадает с телом метода render
в компонентах класса.
Там, где вы видите ошибку, говорит вам, что когда React вызывает метод render
, он ожидаеткомпонент обратно, но в настоящее время он undefined
, потому что нет тела render
.
Кроме того, поддержка Fragment
не была введена до React версии 16.2.0.Таким образом, в 15.x вам нужно будет обернуть в div
:
class Enjoy extends Component {
const amppage = (
<div>
<Title>Hello guys :)</Title>
<Link rel="canonical" href="http://localhost" />
<h1>Hello World</h1>
<Carousel lightbox width="400" height="300" layout="responsive" type="slides">
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
<amp-img src="image.jpg" width="400" height="300" layout="responsive"></amp-img>
</Carousel>
</div>
);
render() {
return amppage;
}
}
export default Enjoy;