Make VirtualDom constructor take an impl Fn() instead of a function pointer (#2583)

* feat: don't use function pointer to allow capturing context

* fix: make virtualdom factory take a function of type ComponentFunction with empty props

* fix: remove redundant generic arg

* fix: bruh

* fix: bruh
This commit is contained in:
Oskar Manhart authored and GitHub committed 2024-07-23 10:40:48 -07:00
1 parent c6126f688e
commit aa1a928b91
1 file changed
+2 -2
+2 -2
View File
@@ -254,7 +254,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<F: Fn() -> Element + Clone + 'static>(app: F) -> Self {
Self::new_with_props(app, ())
}
@@ -313,7 +313,7 @@ impl VirtualDom {
}
/// Create a new virtualdom and build it immediately
pub fn prebuilt(app: fn() -> Element) -> Self {
pub fn prebuilt<F: Fn() -> Element + Clone + 'static>(app: F) -> Self {
let mut dom = Self::new(app);
dom.rebuild_in_place();
dom