From 5488953436c29a7d14b692fe9a0743bc7f9feaaf Mon Sep 17 00:00:00 2001 From: Claudia Meadows Date: Sat, 8 Jun 2024 13:17:11 -0700 Subject: [PATCH] Tweak docs with warning to fix #2508 (#2895) Co-authored-by: Barney Carroll --- docs/vnodes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/vnodes.md b/docs/vnodes.md index a9313f25..b474ebde 100644 --- a/docs/vnodes.md +++ b/docs/vnodes.md @@ -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