我在Reactjs(Nextjs)是新手,我想创建文件"Header"和"Footer",这样我可以在所有页面中使用这个文件,所以我想知道我如何才能做到这一点,哪个是更好的 Select

  1. 我是否应该创建"Layout.js",然后在此文件中调用Header
  2. 或者我应该在_app.js中使用"Header"和"Footer"(不创建布局文件)

这是我的布局.js

import React, { Component } from 'react';
import Header from './Header';

class Layout extends Component {
  

    render () {
        const { children } = this.props
        return (
          <div className='layout'>
            <Header />
            {children}
          </div>
        );
      }
    }

或者还有其他办法,我该怎么做呢,提前谢谢你.

推荐答案

有关NextJs中的基本布局功能,请参阅this个文档

首先创建布局组件

import Header from './header'
import Footer from './footer'

export default function Layout({ children }) {
  return (
    <>
      <Header/>
      <main>{children}</main>
      <Footer />
    </>
  )
}

导入并使用条目文件中的<;Layout&>组件,

// pages/_app.js

import Layout from '../components/layout'

export default function MyApp({ Component, pageProps }) {
  return (
    <Layout>
      {/* All your page components */}
    </Layout>
  )
}

这将使页面组件包含在布局中的页眉和页脚中.

Javascript相关问答推荐

ReactJS中的material UI自动完成类别

如何在使用fast-xml-parser构建ML时包括属性值?

窗口.getComputedStyle()在MutationObserver中不起作用

Snowflake JavaScript存储过程返回成功,尽管预期失败

如何在不创建新键的情况下动态更改 map 中的项目?

在这种情况下,如何 for each 元素添加id?

我的角模板订阅后不刷新'

如何控制Reaction路由加载器中的错误状态?

使用js构造一个html<;ath&>元素并不能使其正确呈现

邮箱密码重置链接不适用于已部署的React应用程序

使用类型:assets资源 /资源&时,webpack的配置对象&无效

将基元传递给THEN处理程序

当从其他文件创建类实例时,为什么工作线程不工作?

在Java脚本中录制视频后看不到曲目

如何更改Html元素S的 colored颜色 ,然后将其褪色为原始 colored颜色

Pevent触发material 用户界面数据网格中的自动保存

我怎样才能得到一个数组的名字在另一个数组?

表单数据中未定义的数组键

扩散运算符未按预期工作,引发语法错误

无法在Adyen自定义卡安全字段创建中使用自定义占位符