pub struct RouterConfig<R: Routable> { /* private fields */ }
Expand description

Global configuration options for the router.

This implements Default and follows the builder pattern, so you can use it like this:

#[derive(Clone, Routable)]
enum Route {
    #[route("/")]
    Index {},
}
let cfg = RouterConfig::default().history(WebHistory::<Route>::default());

Implementations§

source§

impl<R> RouterConfig<R>where R: Routable, <R as FromStr>::Err: Display,

source

pub fn on_update( self, callback: impl Fn(GenericRouterContext<R>) -> Option<NavigationTarget<R>> + 'static ) -> Self

A function to be called whenever the routing is updated.

The callback is invoked after the routing is updated, but before components and hooks are updated.

If the callback returns a NavigationTarget the router will replace the current location with it. If no navigation failure was triggered, the router will then updated dependent components and hooks.

The callback is called no more than once per rerouting. It will not be called if a navigation failure occurs.

Defaults to None.

source

pub fn history(self, history: impl HistoryProvider<R> + 'static) -> Self

The HistoryProvider the router should use.

Defaults to a default MemoryHistory.

source

pub fn failure_external_navigation( self, component: fn(_: Scope<'_>) -> Element<'_> ) -> Self

A component to render when an external navigation fails.

Defaults to a router-internal component called FailureExternalNavigation

Trait Implementations§

source§

impl<R: Routable + Clone> Default for RouterConfig<R>where <R as FromStr>::Err: Display,

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<R> !RefUnwindSafe for RouterConfig<R>

§

impl<R> !Send for RouterConfig<R>

§

impl<R> !Sync for RouterConfig<R>

§

impl<R> Unpin for RouterConfig<R>

§

impl<R> !UnwindSafe for RouterConfig<R>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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.

§

impl<T> To for Twhere T: ?Sized,

§

fn to<T>(self) -> Twhere Self: Into<T>,

Converts to T by calling Into<T>::into.
§

fn try_to<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Tries to convert to T by calling TryInto<T>::try_into.
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.