ソースを参照

fix breaks from previous merge

Adrian Wannenmacher 2 年 前
コミット
89ac4d51ab

+ 10 - 7
packages/router/src/components/outlet.rs

@@ -44,14 +44,17 @@ pub fn Outlet(cx: Scope<OutletProps>) -> Element {
     });
 
     // get content
-    let X: Component = match name {
+    let content = match name {
         None => state.content.get(*depth),
         Some(n) => state.named_content.get(n).and_then(|n| n.get(*depth)),
-    }?
-    .0
-    .clone();
-
-    render! {
-        X { }
     }
+    .cloned();
+
+    cx.render(match content {
+        Some(content) => {
+            let X = content.0;
+            rsx! { X { } }
+        }
+        None => rsx! { Fragment { } },
+    })
 }

+ 1 - 1
packages/router/src/contexts/router.rs

@@ -1,7 +1,7 @@
 use std::sync::Arc;
 
 use async_rwlock::RwLock;
-use dioxus::prelude::{Component, ScopeId};
+use dioxus::{core::Component, prelude::ScopeId};
 use dioxus_router_core::{RouterMessage, RouterState};
 use futures_channel::mpsc::UnboundedSender;
 

+ 1 - 1
packages/router/src/hooks/use_router.rs

@@ -1,5 +1,5 @@
 use async_rwlock::RwLockReadGuard;
-use dioxus::prelude::*;
+use dioxus::{core::Component, prelude::*};
 use dioxus_router_core::{
     history::{HistoryProvider, MemoryHistory},
     routes::{ContentAtom, Segment},