use_state in Yew

  • 本文关键字:Yew in state use yew
  • 更新时间 :
  • 英文 :


我是Rust和Yew的新手,我需要一些帮助来在Yew的应用组件中应用useState钩子,看起来像这样:

struct BookList
use gloo_net::http::Request;    
use yew::prelude::*;
#[function_component(App)]
pub fn app() -> Html {
let (books: UseStateHandle<Vec<BookList>> = use_state(|| vec![]);
async fn fetch_books() {
let response: Vec<> = Request::get("http://localhost:3000/books");
let cloned_books = books.clone():
cloned_books.set(response.data);
}
html! {
<div>
{"App"}
</div>
}
}

我得到了错误不匹配的类型。在我有父元素的地方,它说它期望一个结构体UseStateHandle, found元组。

我不确定为什么在books之前需要一个左括号,但我认为这就是与元组混淆的地方。

let books = use_state(|| vec![]);

如果你在获取数据时指定类型,我推测Rust应该足够聪明,可以从后面的上下文中理解这应该是BookList向量的句柄。因此,我将在这里赋值类型(您几乎已经有了,但它缺少类型):

let response: Vec<BookList> = Request::get("http://localhost:3000/books");

请注意,我没有尝试过这些。请随时评论后续的例外情况,以便我们一起详细说明。

相关内容

  • 没有找到相关文章

最新更新