dioxus icon indicating copy to clipboard operation
dioxus copied to clipboard

Order of use effect hooks changed

Open mgjm opened this issue 1 year ago • 0 comments

Problem

The initial execution order of use_effect hooks changed from version 0.5.0 to 0.5.1.

Steps To Reproduce

use dioxus::prelude::*;
use gloo::console;

fn main() {
    dioxus::web::launch::launch_cfg(app, Default::default());
}

pub fn app() -> Element {
    use_effect(move || {
        console::log!("effect", 1);
    });
    use_effect(move || {
        console::log!("effect", 2);
    });
    use_effect(move || {
        console::log!("effect", 3);
    });

    rsx! {
        "Hello World"
    }
}

Log output in version 0.5.0

effect 1
effect 2
effect 3

Log output in version 0.5.1

effect 3
effect 2
effect 1

Expected behavior

The execution order of effects should stay consistent between minor versions. Preferable in the invocation order (behaviour of version 0.5.0).

Environment:

  • Dioxus version: 0.5.1
  • Rust version: nightly
  • App platform: web

mgjm avatar Apr 06 '24 12:04 mgjm