rsx_syntax.rs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. use dioxus::prelude::*;
  2. fn basic_syntax_is_a_template(cx: Scope) -> Element {
  3. let asd = 123;
  4. let var = 123;
  5. cx.render(rsx! {
  6. div { key: "12345",
  7. class: "asd",
  8. class: "{asd}",
  9. onclick: move |_| {},
  10. div { "{var}" }
  11. div {
  12. h1 { "var" }
  13. p { "you're great!" }
  14. div { background_color: "red",
  15. h1 { "var" }
  16. div { b { "asd" } "not great" }
  17. }
  18. p { "you're great!" }
  19. }
  20. }
  21. })
  22. }
  23. fn basic_template(cx: Scope) -> Element {
  24. cx.render(rsx! {
  25. div {
  26. basic_child { }
  27. async_child { }
  28. }
  29. })
  30. }
  31. fn basic_child(cx: Scope) -> Element {
  32. todo!()
  33. }
  34. async fn async_child(cx: Scope<'_>) -> Element {
  35. todo!()
  36. }
  37. #[test]
  38. fn basic_prints() {
  39. let mut dom = VirtualDom::new(basic_template);
  40. let mut edits = Vec::new();
  41. dom.rebuild(&mut edits);
  42. dbg!(edits);
  43. let mut edits = Vec::new();
  44. dom.rebuild(&mut edits);
  45. dbg!(edits);
  46. // let renderer = dioxus_edit_stream::Mutations::default();
  47. //
  48. // dbg!(renderer.edits);
  49. // takes_it(basic_child);
  50. }
  51. // fn takes_it(f: fn(Scope) -> Element) {}
  52. // fn takes_it(f: fn(Scope) -> Element) {}