Merge branch 'maybe-sync-signal' into map-signal

This commit is contained in:
Evan Almloff committed 2024-01-02 14:17:01 -06:00
commit cddcd69200
20 files changed
+1706 -710

No files matched your search

+4 -2
View File
@@ -6,8 +6,8 @@ use dioxus::prelude::*;
use dioxus_core::ElementId;
use dioxus_signals::*;
#[test]
fn effects_rerun() {
#[tokio::test]
async fn effects_rerun() {
simple_logger::SimpleLogger::new().init().unwrap();
#[derive(Default)]
@@ -40,6 +40,8 @@ fn effects_rerun() {
);
let _ = dom.rebuild().santize();
dom.render_with_deadline(tokio::time::sleep(std::time::Duration::from_millis(100)))
.await;
let current_counter = counter.borrow();
assert_eq!(current_counter.component, 1);
+15 -5
View File
@@ -24,7 +24,7 @@ fn memos_rerun() {
counter.borrow_mut().component += 1;
let mut signal = use_signal(cx, || 0);
let memo = cx.use_hook(move || {
let memo = *cx.use_hook(move || {
to_owned![counter];
selector(move || {
counter.borrow_mut().effect += 1;
@@ -32,9 +32,17 @@ fn memos_rerun() {
signal.value()
})
});
assert_eq!(memo.value(), 0);
let generation = use_signal(cx, || cx.generation());
generation.set(cx.generation());
dioxus_signals::use_effect(cx, move || {
if generation == 1 {
assert_eq!(memo.value(), 0);
}
if generation == 3 {
assert_eq!(memo.value(), 1);
}
});
signal += 1;
assert_eq!(memo.value(), 1);
render! {
div {}
@@ -44,14 +52,15 @@ fn memos_rerun() {
);
let _ = dom.rebuild().santize();
let _ = dom.render_immediate();
let current_counter = counter.borrow();
assert_eq!(current_counter.component, 1);
assert_eq!(current_counter.effect, 2);
}
#[test]
fn memos_prevents_component_rerun() {
#[tokio::test]
async fn memos_prevents_component_rerun() {
let _ = simple_logger::SimpleLogger::new().init();
#[derive(Default)]
@@ -126,6 +135,7 @@ fn memos_prevents_component_rerun() {
let _ = dom.rebuild().santize();
dom.mark_dirty(ScopeId::ROOT);
dom.render_immediate();
dom.render_immediate();
{
let current_counter = counter.borrow();