1
0

rsx_syntax.rs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 { 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. (0..2).map(|i| rsx! { div { "asd {i}" } })
  27. basic_child { }
  28. }
  29. })
  30. }
  31. /// A beautiful component
  32. fn basic_child(cx: Scope) -> Element {
  33. todo!()
  34. }
  35. #[test]
  36. fn basic_prints() {
  37. let mut dom = VirtualDom::new(basic_template);
  38. let mut edits = Vec::new();
  39. dom.rebuild(&mut edits);
  40. dbg!(edits);
  41. let mut edits = Vec::new();
  42. dom.rebuild(&mut edits);
  43. dbg!(edits);
  44. // let renderer = dioxus_edit_stream::Mutations::default();
  45. //
  46. // dbg!(renderer.edits);
  47. }