Merge pull request #1791 from ealmloff/breaking

Remove scope, use_state, use_ref, bump allocator and make everything 'static
This commit is contained in:
Jonathan Kelley authored and GitHub committed 2024-02-05 14:19:47 -08:00
commit 4f8868d43d
517 files changed
+17126 -20669

No files matched your search

+22 -1
View File
@@ -213,6 +213,7 @@ pub fn routable(input: TokenStream) -> TokenStream {
let parse_impl = route_enum.parse_impl();
let display_impl = route_enum.impl_display();
let routable_impl = route_enum.routable_impl();
let component_impl = route_enum.component_impl();
(quote! {
#error_type
@@ -221,6 +222,8 @@ pub fn routable(input: TokenStream) -> TokenStream {
#routable_impl
#component_impl
#parse_impl
})
.into()
@@ -589,7 +592,7 @@ impl RouteEnum {
#(#site_map,)*
];
fn render<'a>(&self, cx: &'a dioxus::prelude::ScopeState, level: usize) -> dioxus::prelude::Element<'a> {
fn render(&self, level: usize) -> ::dioxus::prelude::Element {
let myself = self.clone();
match (level, myself) {
#(#matches)*
@@ -599,6 +602,24 @@ impl RouteEnum {
}
}
}
fn component_impl(&self) -> TokenStream2 {
let name = &self.name;
let props = quote! { ::std::rc::Rc<::std::cell::Cell<dioxus_router::prelude::RouterConfig<#name>>> };
quote! {
impl dioxus_core::ComponentFunction<#props> for #name {
fn rebuild(&self, props: #props) -> dioxus_core::Element {
let initial_route = self.clone();
rsx! {
dioxus_router::prelude::Router::<#name> {
config: move || props.take().initial_route(initial_route)
}
}
}
}
}
}
}
struct SiteMapSegment {