- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 Gatsby 构建一个多页网站(所以,多组件)。
在官方文档中,它说在 Layouts 文件夹中我应该有文件 index.js,它存储其他页面共有的组件(例如导航栏和页脚,就像一个 react 路由器,这里命名为 MainNavBar 和 MainFooter)。
现在,index.js 文件也是主页和登录页面,当您到达 localhost:8000 位置时(上传后将是 www.mywebsite.com)。
问题是现在这个页面是空的,在网站中选择一个页面后,只呈现存储在 pages 文件夹中的 children()。但是,如果我在其中创建一个组件,例如主页(现在作为 home.js 存储在 pages 文件夹中),则其他页面将呈现在主页下方,并且主页本身将对所有其他页面,无法正确显示组件。
如何正确创建一个主页,该主页也是保持此配置的登录页面?
这是 index.js 组件
import Helmet from 'react-helmet'
import MainNavBar from '../components/navbar.js';
import Footer from '../components/footer';
import React, { Component } from 'react';
import logo from '../images/recsenz.png';
import tile1 from '../images/tile_imgs/prova(m).png';
import tile2 from '../images/tile_imgs/prova(d).png';
import tile3 from '../images/tile_imgs/prova(x).png';
import { Card, CardImg, CardText, CardBody,
CardTitle, CardSubtitle, Button, Col, Row, Container } from 'reactstrap';
import PropTypes from 'prop-types';
import 'bootstrap/dist/css/bootstrap.min.css';
import './index.css'
const Layout = ({ children, data }) => (
<div>
<Helmet
title={data.site.siteMetadata.title}
meta={[
{ name: 'description', content: 'Sample' },
{ name: 'keywords', content: 'sample, something' },
]}
/>
<MainNavBar />
{children()}
<Footer />
</div>
)
Layout.propTypes = {
children: PropTypes.func,
}
export default Layout
export const query = graphql`
query SiteTitleQuery {
site {
siteMetadata {
title
}
}
}
`
最佳答案
以下是 Gatsby (v2) 建议您设置工作目录的方式:
- src
- components
- layout.js
- header.js
- footer.js
- pages
- index.js
- about.js
index.js
创建您的主页。和使用
about.js
的“/about”页面.
layout.js
用于包装页眉和页脚等内容的组件。这是一个例子:
import React from "react"
import Header from "./header"
import Footer from "./footer"
export default ({ children }) => {
return (
<div id="main-content">
<Header />
{children}
<Footer />
</div>
)
}
import React from "react"
import Layout from "../components/layout"
export default () => {
return (
<Layout>
<h1>Welcome to my home page</h1>
</Layout>
)
}
import React from "react"
import Layout from "../components/layout"
export default () => {
return (
<Layout>
<h1>Welcome to my about page</h1>
</Layout>
)
}
关于javascript - 如何正确设置 Gatsby.js 主页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835782/
如果应用程序是通过企业签名分发的,那么是否有任何框架允许我在后台接收Home 或Power 按下事件? 最佳答案 iOS 中的所有事件都是 UIEvent,它是 GSEvent 的包装器。通过一些技巧
版本为 1.4.1.4 的 Prestashop 网站使用 category.php 文件作为类别页面。不幸的是,1.6.0.6 的更新删除了该文件,因为它已被视为已弃用。 ( URL structu
我最近在 Github 存储库中为我的公司创建了一个全局 wiki。这是一个空的存储库,我创建它只是为了使用它的 wiki。 我的问题:在这个 wiki 存储库的首页上,显示了自述文件。这个自述文件是
我有一个非常简单的体育网站,主页上有不同运动的链接,如足球、篮球、无挡板篮球等。我想要的是当用户点击 Football 时,要存储的值,以便下次访问者访问该页面时它将打开足球页面。 到目前为止,我已经
我已经实现了onOptionsItemSelected来控制主页按钮: override fun onOptionsItemSelected(item: MenuItem): Boolean {
我不知道如何为匿名用户隐藏主页选项卡,Plone 版本是 4.3.7。最好隐藏导航栏,我发现可以通过 ZMI Portal_actions/portal_tabs/index_html 来做到这一点,
我正在尝试通过修改注册表来更改 IE 主页。我已经使用 bat 文件成功完成了此操作; REG ADD "HKCU\SOFTWARE\MICROSOFT\INTERNET EXPLORER\MAIN"
我已经使用 Spring Roo 生成了一些页面,我需要在应用程序的主页上显示数据库中的一些项目。那么我如何将带有数据的模型传递到主页,Roo 添加了以下行,我已注释掉 我使用 Roo 创建
我有 HomeController 类: @Controller public class HomeController { @RequestMapping("/") public S
用户按下“主页”按钮时,我需要显示退出确认对话框。如果是,则需要退出该应用程序。 按下“主页”按钮时是否可以显示? 最佳答案 这可能会导致您的应用被拒绝 从Apple HIG: 总是准备停止 当人们按
我只是想知道是否有人在Magento中格式化面包屑有任何经验? 我想用图片替换当前显示文本“HOME”的链接。 我以为用图片替换某些文本是一种简单的情况,但是似乎“HOME”文本/链接是动态创建的,因
我制作了登录功能,因此当用户登录时,它将导航到其他页面,但问题是登录成功后,用户只需按物理后退按钮即可再次返回登录页面。现在我想要的是登录后用户无法再次返回登录页面,因此当按下物理后退按钮时,它将关闭
我有 2 个 Activity ,1 个用于注册,1 个用于我的应用程序主页。现在为了在它们之间做出选择,我必须创建另一个 Activity 来检查一些细节并决定去哪个 Activity 。问题是,在
public void onBackPressed() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCa
实际上我正在开发一个应用程序,这个应用程序应该在安装的设备上打开,这样我就可以阻止/禁用返回、主页、多任务的物理按钮。 我已经阅读了一些关于如何做到这一点的文章,但仍然不知道如何在我的应用程序中实现它
我在浏览器中输入以下 URL http://localhost:8081 并以连接错误告终。使用 catalina 脚本启动 tomcat 后,我得到一个空白页面。有人知道为什么会这样吗? 最佳答
我正在尝试在 Eclipse 中设置一个 spring mvc 项目。我创建了一个动态 Web 项目并创建了源和配置文件。当我在由 eclipse 启动的 tomcat 上运行该项目时,我总是遇到 4
我在Tomcat中部署了我的应用程序,应用程序路径是: http://localhost:8080/myapp 但我想限制我的用户看不到 Tomcat 主页,即如果他们输入: http://local
在创建一个 vue nativescript 应用程序并通过以下方式运行之后: tns preview 我得到: *** Terminating app due to uncaught excepti
与其说我是网页设计师,我更像是一个程序员,我正在尝试做一个简单的(我认为)设计,比如 gmail 的主页 https://mail.google.com/intl/fr/mail/help/about
我是一名优秀的程序员,十分优秀!