@krmao/react-basic
Version:
### features
40 lines (39 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
/**
* https://stackoverflow.com/a/34425083/4348530
*
* import {useScript, useScriptHook} from 'hooks/useScript';
*
* const MyComponent = props => {
* useScript('https://use.typekit.net/foobar.js');
*
* // rest of your component
* }
* @param url
*/
var useScript = function (url) {
var script = document.createElement("script");
script.src = url;
script.async = true;
document.body.appendChild(script);
return function () {
document.body.removeChild(script);
};
};
var useScriptHook = function (url) {
(0, react_1.useEffect)(function () {
var script = document.createElement("script");
script.src = url;
script.async = true;
document.body.appendChild(script);
return function () {
document.body.removeChild(script);
};
}, [url]);
};
exports.default = {
useScript: useScript,
useScriptHook: useScriptHook
};
;