rsx_syntax.rs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. let val = 123;
  25. cx.component(basic_child, (), "fn_name");
  26. todo!()
  27. // cx.render(rsx! {
  28. // div { class: "{val}", class: "{val}", class: "{val}", class: "{val}",
  29. // (0..2).map(|i| rsx! { div { "asd {i}" } })
  30. // basic_child { }
  31. // }
  32. // })
  33. }
  34. /// A beautiful component
  35. fn basic_child(cx: Scope) -> Element {
  36. todo!()
  37. }
  38. async fn async_component(cx: Scope<'_>) -> Element {
  39. cx.render(rsx! {
  40. div { class: "asd" }
  41. })
  42. }
  43. #[test]
  44. fn basic_prints() {
  45. let mut dom = VirtualDom::new(basic_template);
  46. let mut edits = Vec::new();
  47. dom.rebuild(&mut edits);
  48. dbg!(edits);
  49. let mut edits = Vec::new();
  50. dom.rebuild(&mut edits);
  51. dbg!(edits);
  52. // let renderer = dioxus_edit_stream::Mutations::default();
  53. //
  54. // dbg!(renderer.edits);
  55. }