component_children.rs 760 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #![allow(non_snake_case)]
  2. use dioxus::prelude::*;
  3. use dioxus_core as dioxus;
  4. use dioxus_core_macro::*;
  5. use dioxus_html as dioxus_elements;
  6. fn main() {
  7. let mut dom = VirtualDom::new(parent);
  8. let edits = dom.rebuild();
  9. dbg!(edits);
  10. }
  11. fn parent(cx: Scope<()>) -> Element {
  12. let value = cx.use_hook(|_| String::new(), |f| f);
  13. cx.render(rsx! {
  14. div {
  15. child(
  16. name: value,
  17. h1 {"hi"}
  18. )
  19. }
  20. })
  21. }
  22. #[derive(Props)]
  23. struct ChildProps<'a> {
  24. name: &'a str,
  25. children: Element<'a>,
  26. }
  27. fn child<'a>(cx: Scope<'a, ChildProps<'a>>) -> Element {
  28. cx.render(rsx! {
  29. div {
  30. "it's nested {cx.props.name}"
  31. {&cx.props.children}
  32. }
  33. })
  34. }