瀏覽代碼

fix: Avoid cloning a provided context unnecessarily (#2458)

* fix: Avoid clonning a provided context unnecessarily

* remove another useless clone in use_context_provider

* fix formatting

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Marc Espin 1 年之前
父節點
當前提交
7d529cf39c
共有 2 個文件被更改,包括 1 次插入6 次删除
  1. 0 1
      Cargo.lock
  2. 1 5
      packages/hooks/src/use_context.rs

+ 0 - 1
Cargo.lock

@@ -2572,7 +2572,6 @@ version = "0.1.0"
 dependencies = [
 dependencies = [
  "console_error_panic_hook",
  "console_error_panic_hook",
  "dioxus",
  "dioxus",
- "dioxus-web",
  "log",
  "log",
  "wasm-logger",
  "wasm-logger",
 ]
 ]

+ 1 - 5
packages/hooks/src/use_context.rs

@@ -57,9 +57,5 @@ pub fn use_context<T: 'static + Clone>() -> T {
 ///}
 ///}
 /// ```
 /// ```
 pub fn use_context_provider<T: 'static + Clone>(f: impl FnOnce() -> T) -> T {
 pub fn use_context_provider<T: 'static + Clone>(f: impl FnOnce() -> T) -> T {
-    use_hook(|| {
-        let val = f();
-        provide_context(val.clone());
-        val
-    })
+    use_hook(|| provide_context(f()))
 }
 }