Comments (2)
This is an issue with memos. The memo is being run after the child component should be dropped which causes the index out of bounds issue. The mapped signal example works in #2029
from dioxus.
- the child components` memos only get re ran when the value of the index of the vector changes (new element is pushed, in this context)
- the child components don
t re render at all if the vector index they are mapped to does not change which they currently do, the printlns
are the same if you put them outside the memos)
changing the child component to this
The current behavior is intentional. MappedSignal just maps reads from a signal. It doesn't clone any data, or memorize values. This makes it possible to use MappedSignal with data that is not Clone
or PartialEq
. If you would like to memorize the result, you can use the use_memo
hook. Because it doesn't memorize the result, MappedSignal has the same subscriptions as the orignal signal.
For Vecs, HashMaps, and HashSets, it would be nice to provide a more efficient Signal version with smarter element subscriptions.
from dioxus.
Related Issues (20)
- Cannot use EventHandlers with `#[derive(Props)]` HOT 1
- CLI Fails to Serve Web After First Client Load
- Optimize initial loading of web resources
- Full web API access in LiveView with WSDOM HOT 1
- Dioxus fullstack lacking a formal way to provide state
- File Input on Desktop Not Displaying File Dialog When Clicked HOT 1
- Re-add SystemTray from Tauri HOT 2
- How do perform web socket IO from a Dioxus web app? An example would be helpful HOT 3
- Bundle currently borked
- "Choose Files" button in `file_upload` example causes app to hang for linux desktop HOT 4
- Use cargo-run-bin to have per-project dioxus-cli installs
- 0.5 alpha 2 dioxus_core debug messages visible in app debug output HOT 3
- 0.5 alpha 2, desktop target, "could not find `Desktop` in `dioxus`" in example app HOT 1
- Code simplify
- dioxus-cli does not proxy websocket connections
- Reset subscriptions when components or hooks are rerun
- Failed to compile with default-features=false
- Linux下无法选择文件
- Add VirtualDom::provide_root_context() taking &mut self
- Move dioxus_core::diff::node logs from info to trace
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 dioxus.