소스 검색

make the web history a higher priority than the liveview history when compiling to wasm

Evan Almloff 1 년 전
부모
커밋
cfbec8240e
1개의 변경된 파일8개의 추가작업 그리고 5개의 파일을 삭제
  1. 8 5
      packages/router/src/router_cfg.rs

+ 8 - 5
packages/router/src/router_cfg.rs

@@ -88,15 +88,18 @@ where
 {
     pub(crate) fn take_history(&mut self) -> Box<dyn AnyHistoryProvider> {
         self.history.take().unwrap_or_else(|| {
-            #[cfg(all(not(feature = "liveview"), target_arch = "wasm32", feature = "web"))]
+            // If we are on wasm32 and the web feature is enabled, use the web history.
+            #[cfg(all(target_arch = "wasm32", feature = "web"))]
             let history = Box::<AnyHistoryProviderImplWrapper<R, WebHistory<R>>>::default();
+            // If we are not on wasm32 and the liveview feature is enabled, use the liveview history.
+            #[cfg(all(feature = "liveview", not(target_arch = "wasm32")))]
+            let history = Box::<AnyHistoryProviderImplWrapper<R, LiveviewHistory<R>>>::default();
+            // If neither of the above are true, use the memory history.
             #[cfg(all(
-                not(feature = "liveview"),
-                any(not(target_arch = "wasm32"), not(feature = "web"))
+                not(all(target_arch = "wasm32", feature = "web")),
+                not(all(feature = "liveview", not(target_arch = "wasm32"))),
             ))]
             let history = Box::<AnyHistoryProviderImplWrapper<R, MemoryHistory<R>>>::default();
-            #[cfg(feature = "liveview")]
-            let history = Box::<AnyHistoryProviderImplWrapper<R, LiveviewHistory<R>>>::default();
             history
         })
     }