contextapi.rs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. use dioxus_core::prelude::*;
  2. fn main() {}
  3. struct SomeContext {
  4. items: Vec<String>,
  5. }
  6. struct Props {
  7. name: String,
  8. }
  9. #[allow(unused)]
  10. static Example: FC<Props> = |ctx, props| {
  11. let value = ctx.use_context(|c: &SomeContext| c.items.last().unwrap());
  12. ctx.render(LazyNodes::new(move |bump| {
  13. builder::ElementBuilder::new(bump, "button")
  14. .on("click", move |_| {
  15. println!("Value is {}", props.name);
  16. println!("Value is {}", value.as_str());
  17. println!("Value is {}", *value);
  18. })
  19. .on("click", move |_| {
  20. println!("Value is {}", props.name);
  21. })
  22. .finish()
  23. }))
  24. // ctx.render(html! {
  25. // <div>
  26. // <button onclick={move |_| println!("Value is {}", value)} />
  27. // <button onclick={move |_| println!("Value is {}", value)} />
  28. // <button onclick={move |_| println!("Value is {}", value)} />
  29. // <div>
  30. // <p> "Value is: {val}" </p>
  31. // </div>
  32. // </div>
  33. // })
  34. };