wip: update hooks

This commit is contained in:
Jonathan Kelley committed 2021-12-13 00:14:47 -05:00
1 parent 96b3d56e09
commit 597a0456f5
6 files changed
+30 -21

No files matched your search

+6 -4
View File
@@ -1,4 +1,4 @@
use dioxus_core::{prelude::Context, ScopeId};
use dioxus_core::{prelude::Context, AnyContext, Scope, ScopeId};
use std::{
cell::{Cell, Ref, RefCell, RefMut},
collections::HashSet,
@@ -59,7 +59,8 @@ impl<T> ProvidedStateInner<T> {
///
///
///
pub fn use_shared_state<'a, T: 'static>(cx: Context<'a>) -> Option<UseSharedState<'a, T>> {
pub fn use_shared_state<'a, T: 'static>(cx: &dyn AnyContext<'a>) -> Option<UseSharedState<'a, T>> {
let cx = cx.get_scope();
cx.use_hook(
|_| {
let scope_id = cx.scope_id();
@@ -110,7 +111,7 @@ impl<T> Drop for SharedStateInner<T> {
}
pub struct UseSharedState<'a, T: 'static> {
pub(crate) cx: Context<'a>,
pub(crate) cx: &'a Scope,
pub(crate) value: &'a Rc<RefCell<T>>,
pub(crate) root: &'a Rc<RefCell<ProvidedStateInner<T>>>,
pub(crate) needs_notification: &'a Cell<bool>,
@@ -175,7 +176,8 @@ where
///
///
///
pub fn use_provide_state<'a, T: 'static>(cx: Context<'a>, f: impl FnOnce() -> T) {
pub fn use_provide_state<'a, T: 'static>(cx: &dyn AnyContext<'a>, f: impl FnOnce() -> T) {
let cx = cx.get_scope();
cx.use_hook(
|_| {
let state: ProvidedState<T> = RefCell::new(ProvidedStateInner {