Fix issue with mutability in component macro

This commit is contained in:
Jonathan Kelley committed 2024-01-15 23:57:10 -08:00
1 parent 8559984e9d
commit 98bd78de43
5 files changed
+47 -22

No files matched your search

+4 -8
View File
@@ -80,8 +80,7 @@ pub fn app() -> Element {
}
#[component]
pub fn TodoHeader(todos: Signal<HashMap<u32, TodoItem>>) -> Element {
let mut todos = todos;
pub fn TodoHeader(mut todos: Signal<HashMap<u32, TodoItem>>) -> Element {
let mut draft = use_signal(|| "".to_string());
let mut todo_id = use_signal(|| 0);
@@ -115,8 +114,7 @@ pub fn TodoHeader(todos: Signal<HashMap<u32, TodoItem>>) -> Element {
}
#[component]
pub fn TodoEntry(todos: Signal<HashMap<u32, TodoItem>>, id: u32) -> Element {
let mut todos = todos;
pub fn TodoEntry(mut todos: Signal<HashMap<u32, TodoItem>>, id: u32) -> Element {
let mut is_editing = use_signal(|| false);
let checked = use_selector(move || todos.read().get(&id).unwrap().checked);
let contents = use_selector(move || todos.read().get(&id).unwrap().contents.clone());
@@ -164,12 +162,10 @@ pub fn TodoEntry(todos: Signal<HashMap<u32, TodoItem>>, id: u32) -> Element {
#[component]
pub fn ListFooter(
todos: Signal<HashMap<u32, TodoItem>>,
mut todos: Signal<HashMap<u32, TodoItem>>,
active_todo_count: ReadOnlySignal<usize>,
filter: Signal<FilterState>,
mut filter: Signal<FilterState>,
) -> Element {
let mut todos = todos;
let mut filter = filter;
let show_clear_completed = use_selector(move || todos.read().values().any(|todo| todo.checked));
rsx! {