Merge pull request #1791 from ealmloff/breaking
Remove scope, use_state, use_ref, bump allocator and make everything 'static
This commit is contained in:
517 files changed
+17126
-20669
No files matched your search
@@ -22,7 +22,7 @@ impl Layout {
|
||||
.flat_map(|id| nests[id.0].dynamic_segments());
|
||||
|
||||
quote! {
|
||||
render! {
|
||||
rsx! {
|
||||
#comp_name { #(#dynamic_segments: #dynamic_segments,)* }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -237,7 +237,7 @@ impl Route {
|
||||
quote! {
|
||||
#[allow(unused)]
|
||||
(#last_index.., Self::#name { #field_name, .. }) => {
|
||||
#field_name.render(cx, level - #last_index)
|
||||
#field_name.render(level - #last_index)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -247,7 +247,7 @@ impl Route {
|
||||
quote! {
|
||||
#[allow(unused)]
|
||||
(#last_index, Self::#name { #(#dynamic_segments,)* }) => {
|
||||
render! {
|
||||
rsx! {
|
||||
#component {
|
||||
#(#dynamic_segments_from_route: #dynamic_segments_from_route,)*
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user