我已经将gatsby-plugin-layout安装到我的项目文件中,创建了src/layouts/index.js,并将gatsby-plugin-layout添加到gatsby-config.js中。Gatsby应用程序编译并可以在开发服务器上服务,但是通过我的布局组件的console.log输出,我看到布局组件仍然在每个页面加载上重新挂载。我的目标是让布局组件在反应应用的过程中只挂载一次。
src/layouts/index.js
import React from "react"
import Header from "../components/header&
我正在为我的react应用程序(准确地说是使用gatsbyjs )开发一个导航栏。在导航栏中,我在componentDidMount中的navbar组件中初始化了一个标题栏。
它按预期工作,但在每次路由更改时,componentDidMount将再次运行,这将导致每个页面更改的阻塞速度加快,使其运行得越来越快。
这是预期的行为吗?如果是这样,我如何确保脚本只运行一次?
navbar.js
import React from 'react';
import { Link } from 'gatsby';
import styles from '../sty
我试图根据页面前端中定义的页面模板向我的头添加一个className of split。我有一个名为split的页面模板,并希望标题在正在使用该模板的页面上具有该类。以下是我的模板:
layout.js
import React from 'react'
import PropTypes from 'prop-types'
import Helmet from 'react-helmet'
import { StaticQuery, graphql } from 'gatsby'
import Header from '