|
@@ -2,7 +2,6 @@ use crate::read_impls;
|
|
use crate::write::Writable;
|
|
use crate::write::Writable;
|
|
use crate::{read::Readable, ReactiveContext, ReadableRef, Signal};
|
|
use crate::{read::Readable, ReactiveContext, ReadableRef, Signal};
|
|
use crate::{CopyValue, ReadOnlySignal};
|
|
use crate::{CopyValue, ReadOnlySignal};
|
|
-use std::rc::Rc;
|
|
|
|
use std::{
|
|
use std::{
|
|
cell::RefCell,
|
|
cell::RefCell,
|
|
ops::Deref,
|
|
ops::Deref,
|
|
@@ -13,7 +12,6 @@ use std::{
|
|
use dioxus_core::prelude::*;
|
|
use dioxus_core::prelude::*;
|
|
use futures_util::StreamExt;
|
|
use futures_util::StreamExt;
|
|
use generational_box::UnsyncStorage;
|
|
use generational_box::UnsyncStorage;
|
|
-use once_cell::sync::OnceCell;
|
|
|
|
|
|
|
|
struct UpdateInformation<T> {
|
|
struct UpdateInformation<T> {
|
|
dirty: Arc<AtomicBool>,
|
|
dirty: Arc<AtomicBool>,
|
|
@@ -45,8 +43,6 @@ impl<T: 'static> Memo<T> {
|
|
let dirty = Arc::new(AtomicBool::new(true));
|
|
let dirty = Arc::new(AtomicBool::new(true));
|
|
let (tx, mut rx) = futures_channel::mpsc::unbounded();
|
|
let (tx, mut rx) = futures_channel::mpsc::unbounded();
|
|
|
|
|
|
- let myself: Rc<OnceCell<Memo<T>>> = Rc::new(OnceCell::new());
|
|
|
|
-
|
|
|
|
let callback = {
|
|
let callback = {
|
|
let dirty = dirty.clone();
|
|
let dirty = dirty.clone();
|
|
move || {
|
|
move || {
|
|
@@ -74,7 +70,6 @@ impl<T: 'static> Memo<T> {
|
|
inner: state,
|
|
inner: state,
|
|
update,
|
|
update,
|
|
};
|
|
};
|
|
- let _ = myself.set(memo);
|
|
|
|
|
|
|
|
spawn_isomorphic(async move {
|
|
spawn_isomorphic(async move {
|
|
while rx.next().await.is_some() {
|
|
while rx.next().await.is_some() {
|