1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-11 11:08:02 +00:00

Add Wrap The Root Of A Gatsby App In A Component as a react til

This commit is contained in:
jbranchaud
2019-01-09 16:34:04 -06:00
parent be4f6d1b11
commit 0e9e4b9d57
2 changed files with 34 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
# Wrap The Root Of A Gatsby App In A Component
Each component that is defined in the `pages` directory of a
[Gatsby](https://www.gatsbyjs.org/) app will be generated into a separate
static page. Each of these pages is meant to stand on its own. Nevertheless,
there is still a behind-the-scenes root component above all of these pages.
There are cases where'd you like to wrap this root component with some other
component, such as a Redux `Provider`.
This can be done using the `wrapRootElement` hook from the Browser API in
the `gatsby-browser.js` file.
```javascript
// gatsby-browser.js
import React from 'react';
import { Provider } from 'react-redux';
import store from './src/store';
export const wrapRootElement = ({ element }) => {
return (
<Provider store={store}>{element}</Provider>
);
}
```
Each page and each component in your Gatsby app will now be downstream from
a Redux provider meaning that they can connect to the Redux store as needed.
You can use this technique for any top-level component that need to be
wrapped around the entire app.
[source](https://www.gatsbyjs.org/docs/browser-apis/#wrapRootElement)