move diffing into the global runtime
This commit is contained in:
1 parent
f42ef3ef9d
commit
c70e2bfcb6
8 files changed
+152
-210
No files matched your search
@@ -224,7 +224,7 @@ impl VirtualDom {
|
||||
/// ```
|
||||
///
|
||||
/// Note: the VirtualDom is not progressed, you must either "run_with_deadline" or use "rebuild" to progress it.
|
||||
pub fn new(app: fn() -> Element) -> Self {
|
||||
pub fn new(app: fn(()) -> Element) -> Self {
|
||||
Self::new_with_props(app, ())
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ impl VirtualDom {
|
||||
/// let mut dom = VirtualDom::new_with_props(Example, SomeProps { name: "jane" });
|
||||
/// let mutations = dom.rebuild();
|
||||
/// ```
|
||||
pub fn new_with_props<P: 'static>(root: fn(P) -> Element, root_props: P) -> Self {
|
||||
pub fn new_with_props<P: Clone + 'static>(root: fn(P) -> Element, root_props: P) -> Self {
|
||||
let (tx, rx) = futures_channel::mpsc::unbounded();
|
||||
let scheduler = Scheduler::new(tx);
|
||||
let mut dom = Self {
|
||||
@@ -450,7 +450,7 @@ impl VirtualDom {
|
||||
let origin = path.scope;
|
||||
self.runtime.scope_stack.borrow_mut().push(origin);
|
||||
self.runtime.rendering.set(false);
|
||||
if let Some(cb) = listener.borrow_mut().as_deref_mut() {
|
||||
if let Some(cb) = listener.as_deref_mut() {
|
||||
cb(uievent.clone());
|
||||
}
|
||||
self.runtime.scope_stack.borrow_mut().pop();
|
||||
|
||||
Reference in new issue
Block a user