pub struct Router<SW: Switch + Clone + 'static, STATE: RouterState = ()> { /* private fields */ }
Expand description
Rendering control flow component.
§Example
use yew::{prelude::*, virtual_dom::VNode};
use yew_router::{router::Router, Switch};
pub enum Msg {}
pub struct Model {}
impl Component for Model {
//...
fn view(&self, _: &Context<Self>) -> VNode {
html! {
<Router<S>
render = Router::render(|switch: S| {
match switch {
S::Variant => html!{"variant route was matched"},
}
})
/>
}
}
}
#[derive(Switch, Clone)]
enum S {
#[to = "/v"]
Variant,
}
Implementations§
Source§impl<SW, STATE> Router<SW, STATE>
impl<SW, STATE> Router<SW, STATE>
Sourcepub fn render<F: RenderFn<Router<SW, STATE>, SW> + 'static>(
f: F,
) -> Render<SW, STATE>
pub fn render<F: RenderFn<Router<SW, STATE>, SW> + 'static>( f: F, ) -> Render<SW, STATE>
Wrap a render closure so that it can be used by the Router.
§Example
let render: Render<S> = Router::render(|switch: S| -> Html {
match switch {
S::Variant => html! {"Variant"},
}
});
Sourcepub fn redirect<F: RedirectFn<SW, STATE> + 'static>(
f: F,
) -> Option<Redirect<SW, STATE>>
pub fn redirect<F: RedirectFn<SW, STATE> + 'static>( f: F, ) -> Option<Redirect<SW, STATE>>
Wrap a redirect function so that it can be used by the Router.
Trait Implementations§
Source§impl<STATE, SW> Component for Router<SW, STATE>
impl<STATE, SW> Component for Router<SW, STATE>
Source§type Message = Msg<STATE>
type Message = Msg<STATE>
Messages are used to make Components dynamic and interactive. Simple
Component’s can declare their Message type to be
()
. Complex Component’s
commonly use an enum to declare multiple Message types.Source§type Properties = Props<STATE, SW>
type Properties = Props<STATE, SW>
The Component’s properties. Read more
Source§fn update(&mut self, ctx: &Context<Self>, msg: Self::Message) -> bool
fn update(&mut self, ctx: &Context<Self>, msg: Self::Message) -> bool
Called when a new message is sent to the component via it’s scope. Read more
Source§fn view(&self, ctx: &Context<Self>) -> VNode
fn view(&self, ctx: &Context<Self>) -> VNode
Components define their visual layout using a JSX-style syntax through the use of the
html!
procedural macro. The full guide to using the macro can be found in Yew’s
documentation. Read moreSource§fn changed(&mut self, ctx: &Context<Self>) -> bool
fn changed(&mut self, ctx: &Context<Self>) -> bool
Called when properties passed to the component change Read more
Auto Trait Implementations§
impl<SW, STATE> Freeze for Router<SW, STATE>where
SW: Freeze,
impl<SW, STATE = ()> !RefUnwindSafe for Router<SW, STATE>
impl<SW, STATE = ()> !Send for Router<SW, STATE>
impl<SW, STATE = ()> !Sync for Router<SW, STATE>
impl<SW, STATE> Unpin for Router<SW, STATE>where
SW: Unpin,
impl<SW, STATE = ()> !UnwindSafe for Router<SW, STATE>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
Source§fn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
Convert
self
to a value of a Properties
struct.Source§impl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
Source§fn into_prop_value(self) -> T
fn into_prop_value(self) -> T
Convert
self
to a value of a Properties
struct.