daybrush / selecto

Selecto.js is a component that allows you to select elements in the drag area using the mouse or touch.
https://daybrush.com/selecto
MIT License
2.04k stars 83 forks source link

SvelteKit: <Selecto> is not a valid SSR component #53

Open benwoodward opened 3 years ago

benwoodward commented 3 years ago

Environments

Description

Selecto throws 'not a valid SSR component error' due to this issue (I believe): https://github.com/sveltejs/sapper/issues/774

Also relevant: https://github.com/rob-balfre/svelte-select/issues/87

Solution

Change:

  import Selecto from "svelte-selecto";
  import Selecto from "svelte-selecto/src/svelte-selecto/Selecto.svelte";

EDIT: Actually this doesn't work, leads to this error: EDIT: Incorrect

500
Cannot read property 'destroy' of undefined
TypeError: Cannot read property 'destroy' of undefined
    at Selecto.svelte:65:19
    at run (/Users/ben/dev/language-platform/my-project/node_modules/svelte/internal/index.js:22:12)
    at Array.forEach (<anonymous>)
    at run_all (/Users/ben/dev/language-platform/my-project/node_modules/svelte/internal/index.js:28:9)
    at Object.render (/Users/ben/dev/language-platform/my-project/node_modules/svelte/internal/index.js:1686:13)
    at render_response (file:///Users/ben/dev/language-platform/my-project/node_modules/@sveltejs/kit/dist/ssr.js:472:28)
    at async respond$1 (file:///Users/ben/dev/language-platform/my-project/node_modules/@sveltejs/kit/dist/ssr.js:1324:10)
    at async render_page (file:///Users/ben/dev/language-platform/my-project/node_modules/@sveltejs/kit/dist/ssr.js:1386:19)
    at async resolve (file:///Users/ben/dev/language-platform/my-project/node_modules/@sveltejs/kit/dist/ssr.js:1647:10)
    at async Object.handle (/Users/ben/dev/language-platform/my-project/src/hooks.ts:29:25)

Concerns

This solution depends upon the uncompiled Selecto component being shipped in the npm package.

## Another solution (untested): Doesn't work in SvelteKit

<!-- {#if (process.browser) } -->
<!--   <Selecto /> -->
<!-- {/if} -->
daybrush commented 3 years ago

@benwoodward

About Cannot read property 'destroy' of undefined bug was fixed. I don't know about other issues.

daybrush commented 2 years ago

@benwoodward

Solve this problem. Try it again.