google / incremental-dom

An in-place DOM diffing library
http://google.github.io/incremental-dom/
Apache License 2.0
3.53k stars 178 forks source link

[Performance Advice] `key` parameter for `text()` function #488

Open ghost opened 1 year ago

ghost commented 1 year ago

Overview

This is a recommendation and discussion for implementing a key parameter for the ID.text() function. The reason why I am recommending that is because there can be performance losses when using for or if statements directly on text nodes because the library's "reconciliation" algorithm may not know which text nodes were added, removed, or shuffled.

Possible changes

Instead of text(value, ...formatters), the text() function could have the following signature:

text(value, key = null, ...formatters)

I hope this advice helps incremental-dom with a performance boost.