Skip to content

Commit b903f50

Browse files
committed
fix: make context prop optional in Provider
1 parent 9c1cc27 commit b903f50

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-helmet-async",
3-
"version": "2.0.0",
3+
"version": "2.0.1",
44
"description": "Thread-safe Helmet for React 16+ and friends",
55
"sideEffects": false,
66
"main": "./lib/index.js",

src/HelmetData.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,15 @@ interface HelmetDataContext {
1717
helmet: HelmetServerState;
1818
}
1919

20+
export const isDocument = !!(
21+
typeof window !== 'undefined' &&
22+
window.document &&
23+
window.document.createElement
24+
);
25+
2026
export default class HelmetData implements HelmetDataType {
2127
instances = [];
22-
canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
28+
canUseDOM = isDocument;
2329
context: HelmetDataContext;
2430

2531
value = {

src/Provider.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
import type { PropsWithChildren } from 'react';
22
import React, { Component } from 'react';
33

4-
import HelmetData from './HelmetData';
4+
import HelmetData, { isDocument } from './HelmetData';
55
import type { HelmetServerState } from './types';
66

77
const defaultValue = {};
88

99
export const Context = React.createContext(defaultValue);
1010

1111
interface ProviderProps {
12-
context: {
12+
context?: {
1313
helmet: HelmetServerState;
1414
};
1515
}
1616

17-
const canUseDOM = typeof document !== 'undefined';
18-
1917
export default class HelmetProvider extends Component<PropsWithChildren<ProviderProps>> {
20-
static canUseDOM = canUseDOM;
18+
static canUseDOM = isDocument;
2119

2220
helmetData: HelmetData;
2321

0 commit comments

Comments
 (0)