Skip to content

Commit

Permalink
Tweak docs with warning to fix MithrilJS#2508 (MithrilJS#2895)
Browse files Browse the repository at this point in the history
Co-authored-by: Barney Carroll <[email protected]>
  • Loading branch information
dead-claudia and barneycarroll committed Sep 23, 2024
1 parent ccdb138 commit 5488953
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions docs/vnodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ When creating libraries that emit vnodes, you should use this module instead of

### Avoid anti-patterns

#### Avoid memoizing mutable vnodes
#### Avoid reusing vnodes

Vnodes are supposed to represent the state of the DOM at a certain point in time. Mithril.js' rendering engine assumes a reused vnode is unchanged, so modifying a vnode that was used in a previous render will result in undefined behavior.
Vnodes are supposed to represent the state of the DOM at a certain point in time. Mithril.js's rendering engine assumes a reused vnode is unchanged, so modifying a vnode that was used in a previous render will result in undefined behavior.

It is possible to reuse vnodes to prevent a diff, but it's preferable to use the `onbeforeupdate` hook to make your intent clear to other developers (or your future self).
It is possible to reuse vnodes in place to prevent a diff, but it's preferable to use the [`onbeforeupdate`](lifecycle.md#onbeforeupdate).

#### Avoid passing model data directly to components via attributes

Expand Down

0 comments on commit 5488953

Please sign in to comment.