@shopify/react-html
Advanced tools
Comparing version 8.0.1 to 8.0.2
@@ -13,2 +13,6 @@ # Changelog | ||
## 8.0.2 - 2019-04-09 | ||
- Fixed an issue where `<HeadUpdater />` would attempt to access browser globals on the server. | ||
## 8.0.0 - 2019-04-08 | ||
@@ -15,0 +19,0 @@ |
@@ -9,3 +9,3 @@ "use strict"; | ||
var queuedUpdate = React.useRef(null); | ||
hooks_1.useDomEffect(function (manager) { | ||
hooks_1.useClientDomEffect(function (manager) { | ||
return manager.subscribe(function (state) { | ||
@@ -12,0 +12,0 @@ if (queuedUpdate.current) { |
/// <reference types="react" /> | ||
import { HtmlManager } from './manager'; | ||
export declare function useDomEffect(perform: (manager: HtmlManager) => (() => void), inputs?: any[]): void; | ||
export declare function useDomEffect(perform: (manager: HtmlManager) => (() => void), inputs?: unknown[]): void; | ||
export declare function useTitle(title: string): void; | ||
@@ -9,2 +9,3 @@ export declare function useLink(link: React.HTMLProps<HTMLLinkElement>): void; | ||
export declare function useFavicon(source: string): void; | ||
export declare function useClientDomEffect(perform: (manager: HtmlManager) => (() => void), inputs?: unknown[]): void; | ||
export declare function useServerDomEffect(perform: (manager: HtmlManager) => (() => void)): void; |
@@ -48,2 +48,10 @@ "use strict"; | ||
exports.useFavicon = useFavicon; | ||
function useClientDomEffect(perform, inputs) { | ||
if (inputs === void 0) { inputs = []; } | ||
var manager = react_1.useContext(context_1.HtmlContext); | ||
react_1.useEffect(function () { | ||
perform(manager); | ||
}, tslib_1.__spread([manager], inputs)); | ||
} | ||
exports.useClientDomEffect = useClientDomEffect; | ||
function useServerDomEffect(perform) { | ||
@@ -50,0 +58,0 @@ var manager = react_1.useContext(context_1.HtmlContext); |
@@ -45,2 +45,5 @@ "use strict"; | ||
var _this = this; | ||
if (this.isServer) { | ||
return function () { }; | ||
} | ||
this.subscriptions.add(subscription); | ||
@@ -47,0 +50,0 @@ return function () { |
{ | ||
"name": "@shopify/react-html", | ||
"version": "8.0.1", | ||
"version": "8.0.2", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "description": "A component to render your react app with no static HTML.", |
@@ -9,3 +9,3 @@ import {useEffect, useContext} from 'react'; | ||
perform: (manager: HtmlManager) => (() => void), | ||
inputs: any[] = [], | ||
inputs: unknown[] = [], | ||
) { | ||
@@ -52,2 +52,16 @@ const manager = useContext(HtmlContext); | ||
export function useClientDomEffect( | ||
perform: (manager: HtmlManager) => (() => void), | ||
inputs: unknown[] = [], | ||
) { | ||
const manager = useContext(HtmlContext); | ||
useEffect( | ||
() => { | ||
perform(manager); | ||
}, | ||
[manager, ...inputs], | ||
); | ||
} | ||
export function useServerDomEffect( | ||
@@ -54,0 +68,0 @@ perform: (manager: HtmlManager) => (() => void), |
@@ -59,2 +59,6 @@ import {EffectKind} from '@shopify/react-effect'; | ||
subscribe(subscription: Subscription) { | ||
if (this.isServer) { | ||
return () => {}; | ||
} | ||
this.subscriptions.add(subscription); | ||
@@ -61,0 +65,0 @@ return () => { |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
96987
2066