Using `createScriptLoader` raises `computations created outside a `createRoot`` alert

When I use the createScriptLoader inside a component as described on https://www.npmjs.com/package/@solid-primitives/script-loader/v/1.0.0 I get the
computations created outside a `createRoot` or `render` will never be disposed
computations created outside a `createRoot` or `render` will never be disposed
warning. E.g.:
import { createScriptLoader } from "@solid-primitives/script-loader";

// import Termly and check when it initializes
export default function ExternalInterface() {

createScriptLoader({
src: "https://externalscript.io/js-script",
async onLoad() {

},
});

return <div></div>
}
import { createScriptLoader } from "@solid-primitives/script-loader";

// import Termly and check when it initializes
export default function ExternalInterface() {

createScriptLoader({
src: "https://externalscript.io/js-script",
async onLoad() {

},
});

return <div></div>
}
and then I just have that in my app.tsx close to the root so it always loads as part of my app. Whats the problem with createScriptLoader and what would be a safer way of using it?
npm
@solid-primitives/script-loader
Primitive to load scripts dynamically. Latest version: 2.3.1, last published: 12 days ago. Start using @solid-primitives/script-loader in your project by running npm i @solid-primitives/script-loader. There are 5 other projects in the npm registry using @solid-primitives/script-loader.
1 Reply
Madaxen86
Madaxen863d ago
Just wrap it in onMount inside app.tsx

Did you find this page helpful?