Comments (2)
Iterators can of course only be consumed once, but they do make sense in many situations also in hdom. It all really depends on how your components are setup/created.
- This will FAIL after first render:
start(["ul", tx.map((i) => ["li", i], tx.range(5))]);
The reason this fails is because the value passed to start()
is the array ["ul", iterator]
, but then the iterator can only be consumed once... hence in the second frame the ul
element will have no more children and so they'll be diffed away.
- This WORKS:
start(["ul", ...tx.map((i) => ["li", i], tx.range(5))]);
Here the spread operator forces the iterator to be realized before the array is passed to start()
, so the array is really now a static piece of data ["ul", ["li", 0], ["li", 1], ....]
- This WORKS too:
start(()=> ["ul", tx.map((i) => ["li", i], tx.range(5))]);
Here the value passed to start is a function which will be re-executed every single time, so works too...
Hope that clears things up!
from umbrella.
It does! Thanks @postspectacular !
from umbrella.
Related Issues (20)
- [@thi.ng/ksuid] KSUID32 overflows during 2088 HOT 5
- The mix() function in @thi.ng/color modifies the input color HOT 2
- [associative] Feature requests: HashSet implementation and document asymptotic complexity, ordering
- [transducers] Add transjuxt
- [math] Documentation is misleading for function parameters HOT 1
- [rdom]: updating state inside a $replace that no longer has it's parent HOT 1
- [shader-ast-stdlib] adding easing functions HOT 1
- [simd] Instructions on building locally? HOT 2
- [geom] Option to ignore scaling of stroke HOT 12
- [examples] SVG Straight-Skeleton HOT 3
- [rstream] in the web worker scope HOT 4
- [geom] Point Inside Polygon - Point on Polygon HOT 6
- [geom] `withAttribs(path, {})` closes the path HOT 3
- [vectors] Vec2 missing x and y coordinate HOT 3
- [shader-ast] Bitwise shift operation HOT 3
- [shader-ast] Unsigned integer vector arithmetic HOT 1
- [shader-ast] Dependency for ternary operators, while and for loop HOT 1
- [shader-ast] Array texture types are missing HOT 1
- [shader-ast] Missing matrix types HOT 1
- [shader-ast] Better design for `defn` with anonymous qualified arguments HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from umbrella.