【问题标题】:How to get the value from state in Yew Rust如何从 Yew Rust 中的状态获取值
【发布时间】:2023-02-23 21:49:06
【问题描述】:

我在 Yew 中有一个如下所示的状态:

let is_flipped: UseStateHandle<bool> = use_state(|| false);

可以看到,它的类型是UseStateHandle&lt;bool&gt;

我想提取它的布尔值,以便切换状态:

let onclick: Callback<MouseEvent> = {
    let is_flipped = is_flipped.clone();
    Callback::from(move |_| match is_flipped {
        true => is_flipped.set(false), // <- type error
        false => is_flipped.set(true), // <- type error
    })
};

但我收到此错误:

^^^^^ expected struct `UseStateHandle`, found `bool`

如何获取状态中包含的布尔值?

【问题讨论】:

    标签: rust yew


    【解决方案1】:

    UseStateHandle implements Deref。您只需要取消引用它:

    let onclick: Callback<MouseEvent> = {
        let is_flipped = is_flipped.clone();
        Callback::from(move |_| match *is_flipped {
            true => is_flipped.set(false),
            false => is_flipped.set(true),
        })
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 2023-01-29
      • 2021-03-29
      • 2016-09-24
      • 2023-02-05
      • 2022-10-22
      • 1970-01-01
      相关资源
      最近更新 更多