Hydrate a single component on a component page
nickrttn opened this issue · comments
What feature were you trying to use?
I've got a page src/index.tsx
defined as a Preact component. It doesn't need client hydration, except for a single component on it. From the docs, it's not clear to me how I would achieve that.
This seems to be possible with component shortcodes, but it's not clear how I would use those in a Preact page. I don't need to hydrate the entire page, just the one component.
Where did our docs fail you?
https://slinkity.dev/docs/component-shortcodes/
How can we improve?
Mention how/if this is possible.
Ok, I think I answered my question, but it leads me to a bug. There's an export <Island />
in @slinkity/preact
, which seems to be usable for what I want ☝️ . However, when using it, Vite/11ty errors with
[11ty] Unhandled rejection in promise:
[11ty] React is not defined (via ReferenceError)
Eleventy:EleventyErrorHandler (error stack): ReferenceError: React is not defined
Eleventy:EleventyErrorHandler at Object.Island (/node_modules/@slinkity/preact/server.jsx:41:3)
Eleventy:EleventyErrorHandler at /Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:6653
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:6680)
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:7702)
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:7816)
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:7816)
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:5858)
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:6755)
Eleventy:EleventyErrorHandler at F (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:6755)
Eleventy:EleventyErrorHandler at k (/Users/nick/.../node_modules/preact-render-to-string/dist/commonjs.js:1:5087)
Eleventy:EleventyErrorHandler at ssr (/Users/nick/.../node_modules/@slinkity/preact/ssr.cjs:9:11)
Eleventy:EleventyErrorHandler at async /Users/nick/.../node_modules/slinkity/dist/index.cjs:173:26
Eleventy:EleventyErrorHandler at async Promise.all (index 2)
Eleventy:EleventyErrorHandler at async handleSsrComments (/Users/nick/.../node_modules/slinkity/dist/index.cjs:142:5)
Eleventy:EleventyErrorHandler at async EleventyDevServer.applyViteHtmlTransform (/Users/nick/.../node_modules/slinkity/dist/index.cjs:202:28) +0ms
Not entirely sure what's going on there.