Adrian Wannenmacher преди 2 години
родител
ревизия
ef76453422
променени са 3 файла, в които са добавени 9 реда и са изтрити 6 реда
  1. 1 0
      packages/router/Cargo.toml
  2. 4 3
      packages/router/src/components/link.rs
  3. 4 3
      packages/router/src/components/outlet.rs

+ 1 - 0
packages/router/Cargo.toml

@@ -11,6 +11,7 @@ keywords = ["dom", "ui", "gui", "react", "wasm"]
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
+anyhow = "1.0.66"
 async-rwlock = "1.3.0"
 dioxus = { path="../dioxus" }
 dioxus-router-core = { path = "../router-core"}

+ 4 - 3
packages/router/src/components/link.rs

@@ -54,11 +54,12 @@ pub fn Link<'a>(cx: Scope<'a, LinkProps<'a>>) -> Element {
     let router = match use_router_internal(&cx) {
         Some(r) => r,
         None => {
-            error!("`Link` must have access to a parent router, will be inactive");
+            let msg = "`Link` must have access to a parent router";
+            error!("{msg}, will be inactive");
             #[cfg(debug_assertions)]
-            panic!("`Link` must have access to a parent router");
+            panic!("{}", msg);
             #[cfg(not(debug_assertions))]
-            return None;
+            anyhow::bail!("{msg}");
         }
     };
     let state = loop {

+ 4 - 3
packages/router/src/components/outlet.rs

@@ -18,11 +18,12 @@ pub fn Outlet(cx: Scope<OutletProps>) -> Element {
     let router = match use_router_internal(&cx) {
         Some(r) => r,
         None => {
-            error!("`Outlet` must have access to a parent router, will be inactive");
+            let msg = "`Outlet` must have access to a parent router";
+            error!("{msg}, will be inactive");
             #[cfg(debug_assertions)]
-            panic!("`Outlet` must have access to a parent router");
+            panic!("{}", msg);
             #[cfg(not(debug_assertions))]
-            return None;
+            anyhow::bail!("{msg}");
         }
     };
     let state = loop {