RouteViewModel
Abstract class for integration with mobx-view-model library
RouteViewModel binds a route entity to a view model and gives a stable API for route data:
pathParamsfor path paramsqueryfor current query params
Modifications
payloadnow keeps the latest known route params vialastPayloadwhen the route is closed.isMountedistrueonly when bothViewModelBase.isMountedandroute.isOpenedaretrue.
API
route
Abstract readonly route entity that must be provided by a concrete view model.
pathParams
Current path params for the route view model.
query
Returns current query params:
- route-specific query when supported by the route entity;
- global query params from
routeConfigotherwise.
Example
tsx
import { RouteViewModel } from 'mobx-route/view-model';
import { userRoute } from '@/shared/config/routing';
import { withViewModel } from "mobx-view-model";
class UserPageVM extends RouteViewModel<typeof userRoute> {
route = userRoute;
}
export const UserPage = withViewModel(UserPageVM, () => {
return <div>User page</div>
});