Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions documentation/docs/02-runes/04-$effect.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,15 @@ In rare cases, you may need to run code _before_ the DOM updates. For this we ca
import { tick } from 'svelte';

let div = $state();
let messages = $state([]);

// ...
let messages = $state(["ddd"]);

$effect.pre(() => {
if (!div) return; // not yet mounted

// reference `messages` array length so that this code re-runs whenever it changes
messages.length;
// No need this line this for old svelte syntax you have to refrence like array = array.push(x)
//messages.length;


// autoscroll when new messages are added
if (div.offsetHeight + div.scrollTop > div.scrollHeight - 20) {
Expand All @@ -173,6 +173,8 @@ In rare cases, you may need to run code _before_ the DOM updates. For this we ca
<p>{message}</p>
{/each}
</div>

<input bind:value={messages} />
```

Apart from the timing, `$effect.pre` works exactly like `$effect`.
Expand Down
Loading