答案 0 :(得分:1)
您可以在gatsby-browser.js
和gatsby-ssr.js
中使用wrapPageElement
或wrapRootElement
api来实现此目的。
wrapPageElement
用于持久性UI组件,即在页面更改期间不应卸载的组件。例如,gatsby自己的layout plugin使用此api将整个页面内容包装在用户定义的Layout组件内(这曾经是gatsby 1中的默认行为)。
wrapRootElement
供数据提供者使用。例如,如果您想使用use redux或样式组件主题,则可以使用此api包装其Provider组件。
gatsby-browser.js
仅在浏览器中运行,而gatsby-ssr.js
将在页面生成期间运行,因此您可能希望同时使用这两个api。