lui
lui copied to clipboard
Tiny, robust web framework in my taste.
Only change detection is currently compiled. To detect modified props, `Object.keys` and a loop is used — on each run. Instead, the modified props should be detected by compiled code...
It is possible to mutate incoming props, to pass non-plain objects into states/reducers etc. To prevent issues following these mistakes, there should be checking against these cases installed in the...
# IS When a function needs the already rendered element, e.g. for scrolling, a `setTimeout(..., 0)` needs to be put into the `R` callback. # SHOULD There should be an...
# IS ~~Currently, `node_map` items are ordered by reinserting them when their index (absolute position) has changed.~~ ~~Currently, `node_map` items are ordered by reinserting all of them.~~ Currently, `node_map` items...
# IS When unmounting a subtree, all of it is checked for unmounting tasks to do, including removing every child node. # SHOULD When unmounting a subtree, only its top-level...
Allow lui to hydrate pre-rendered html and allow lui apps to be rendered into html code on the server, since some people NEED that.
https://github.com/krausest/js-framework-benchmark/issues/1139 https://github.com/krausest/js-framework-benchmark/issues/1148 Either a variant or detect if `eval` is allowed or not and fall back to non-generated diffing.
Since the set of props never changes, it may be worth it to compile a custom function that creates an object containing all the keys or setting all the keys.
Currently, the root component passed to `init(...)` has to return an array of the frame's properties and then the contained child nodes. Instead, to define the frame's properties, `hook_dom('', {...});`...
Add an optional argument to `node_map` which allows selecting an item. On selection change, only the unselected and selected items are updated, optimizing selection from O(n) to O(1). ## Example...