Skip to content
Discussion options

You must be logged in to vote

render() should return an ordinary HTML, while in setup() you make it interactive (add event listeners or mount a component).

Usage is like this:

<script>
	import { createRawSnippet, mount, unmount } from 'svelte';
	import Component from "./Component.svelte";
	import Container from "./Container.svelte"

	const props = $state({ name: "Test" })
	
	const snip = createRawSnippet((name) => {
		return {
			render: () => `<div></div>`,
			setup: (target) => {
				const comp = mount(Component, { target, props }); 
				return () => unmount(comp);
			}	
		};
	});
</script>

<input bind:value={props.name}><br>
<Container children={snip} />

Replies: 1 comment 6 replies

Comment options

You must be logged in to vote
6 replies
@7nik
Comment options

7nik Oct 8, 2024
Collaborator

@unikitty37
Comment options

@ar4hc
Comment options

@7nik
Comment options

7nik Jan 17, 2025
Collaborator

@7nik
Comment options

7nik Jan 17, 2025
Collaborator

Answer selected by unikitty37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants