yew_router_nested::router

Struct Router

Source
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>
where STATE: RouterState, SW: Switch + PartialEq + Clone + 'static,

Source

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"},
    }
});
Source

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>
where STATE: RouterState, SW: Switch + PartialEq + Clone + 'static,

Source§

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>

The Component’s properties. Read more
Source§

fn create(ctx: &Context<Self>) -> Self

Called when component is created.
Source§

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

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 more
Source§

fn changed(&mut self, ctx: &Context<Self>) -> bool

Called when properties passed to the component change Read more
Source§

fn rendered(&mut self, ctx: &Context<Self>, first_render: bool)

The rendered method is called after each time a Component is rendered but before the browser updates the page. Read more
Source§

fn destroy(&mut self, ctx: &Context<Self>)

Called right before a Component is unmounted.
Source§

impl<SW: Debug + Switch + Clone + 'static, STATE: Debug + RouterState> Debug for Router<SW, STATE>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. 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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoPropValue<Option<T>> for T

Source§

fn into_prop_value(self) -> Option<T>

Convert self to a value of a Properties struct.
Source§

impl<T> IntoPropValue<T> for T

Source§

fn into_prop_value(self) -> T

Convert self to a value of a Properties struct.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Any for T
where T: Any,