Skip to content

Commit f2a05be

Browse files
authoredAug 2, 2021
fix(react): add SSR check to IonTabs (#23696)
resolves #23651
1 parent caf0917 commit f2a05be

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed
 

‎packages/react/src/components/navigation/IonTabs.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ import React, { Fragment } from 'react';
33

44
import { NavContext } from '../../contexts/NavContext';
55
import PageManager from '../../routing/PageManager';
6+
import { HTMLElementSSR } from '../../utils/HTMLElementSSR';
67
import { IonRouterOutlet } from '../IonRouterOutlet';
78

89
import { IonTabBar } from './IonTabBar';
910
import { IonTabsContext, IonTabsContextState } from './IonTabsContext';
1011

11-
class IonTabsElement extends HTMLElement {
12+
class IonTabsElement extends HTMLElementSSR {
1213
constructor() {
1314
super();
1415
}
1516
}
1617

17-
if (window && window.customElements) {
18+
if (typeof (window as any) !== 'undefined' && window.customElements) {
1819
const element = customElements.get('ion-tabs');
1920
if (!element) {
2021
customElements.define('ion-tabs', IonTabsElement);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export const HTMLElementSSR = (
2+
typeof HTMLElement !== 'undefined'
3+
? HTMLElement
4+
: class {}) as typeof HTMLElement;

0 commit comments

Comments
 (0)
Please sign in to comment.