From b54c9682f9db7baa47f4892a97a0c39ab9220582 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 10 Dec 2022 02:21:51 +0330 Subject: [PATCH] separate context for different pages with pathname --- src/gatsby-ssr.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gatsby-ssr.tsx b/src/gatsby-ssr.tsx index f6d6291..c1ddd70 100644 --- a/src/gatsby-ssr.tsx +++ b/src/gatsby-ssr.tsx @@ -2,7 +2,7 @@ import { GatsbySSR, RenderBodyArgs, WrapRootElementNodeArgs } from 'gatsby'; import React from 'react'; import { HelmetProvider, HelmetServerState } from 'react-helmet-async'; -const context: { helmet?: HelmetServerState } = {}; +const context: {[pathname: string]: { helmet?: HelmetServerState }} = {}; export const onRenderBody: GatsbySSR['onRenderBody'] = ({ setHeadComponents, @@ -35,7 +35,11 @@ export const onRenderBody: GatsbySSR['onRenderBody'] = ({ }; export const wrapRootElement: GatsbySSR['wrapRootElement'] = ({ + pathname, element -}: WrapRootElementNodeArgs): React.ReactElement => ( - {element} -); +}: WrapRootElementNodeArgs): React.ReactElement => { + context[pathname] = {}; + return ( + {element} + ); +}