rsx_syntax.rs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 {
  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 {
  17. b { "asd" }
  18. "not great"
  19. }
  20. }
  21. p { "you're great!" }
  22. }
  23. }
  24. })
  25. }
  26. fn basic_template(cx: Scope) -> Element {
  27. cx.render(rsx! {
  28. div {
  29. (0..2).map(|i| rsx! {
  30. div { "asd" }
  31. }),
  32. (0..2).map(|i| rsx! {
  33. div { "asd" }
  34. })
  35. }
  36. })
  37. }
  38. #[test]
  39. fn basic_prints() {
  40. let mut dom = VirtualDom::new(basic_template);
  41. let mut edits = Vec::new();
  42. dom.rebuild(&mut edits);
  43. dbg!(edits);
  44. let mut edits = Vec::new();
  45. dom.rebuild(&mut edits);
  46. dbg!(edits);
  47. // let renderer = dioxus_edit_stream::Mutations::default();
  48. //
  49. // dbg!(renderer.edits);
  50. }