【发布时间】:2018-07-25 08:20:17
【问题描述】:
我是 React 和 Next 的新手,我想做的是将我的主要内容包装在一个布局中,该布局将在我的页面上共享。
在我的组件文件夹中,我创建了一个 Layout.js 文件:
import Head from 'next/head';
import Header from './main/Header';
import Footer from './main/Footer';
import '../styles/main.scss';
const Layout = (props) => (
<div>
<Head>
<title>Testing</title>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
<link rel="stylesheet" href="/_next/static/style.css" />
</Head>
<div className="app">
<Header />
{props.children}
<Footer />
</div>
</div>
);
export default Layout;
我在 pages 文件夹中的 index.js 文件中使用它:
import React, { Component } from 'react';
import Layout from '../components/Layout';
export default class extends Component {
render() {
return (
<Layout>
<h1>Hello</h1>
</Layout>
);
}
};
结果是这个错误:
React.Children.only 期望接收单个 React 元素子元素。
我敢打赌,我在 Layout.js 文件中做错了什么,但我不明白如何准确修复它。我希望你能帮忙。谢谢
【问题讨论】: