Comments (4)
I'm using Bloc in my project and was trying to find a way to access some blocs to provide to the page. I missed how you could just use the context from the RoutemasterDelegate, so I think I can just use that for my use case. As for the API design, it seems like builders always have at least a BuildContext parameter so I feel like it should have it. But on the other hand, it does seem messy to have it passed on every field of Guard.
from routemaster.
Good point, it does feel a bit weird that it's passed into validate
but not builder
.
There's a balance here; I'm keen to make the methods in the route map have as few parameters as possible, to aid readability and reduce confusion.
The only context
that can be provided is the context from the Router, so it won't be different per route build - and you could already get it currently too.
RoutemasterDelegate(
routesBuilder: (BuildContext context) { // This context here...
return RouteMap(
routes: {
'/': (info) => Redirect('/two'),
'/two': (info) => Guard(
validate: (info, context) => true, // ...is the same as this one here...
builder: () => MaterialPage<void>(child: MyPage()), // ...should it be passed here too?
),
},
);
},
)
I'm thinking it should either be provided to both, or neither.
Is there a particular use case you were thinking of here?
from routemaster.
Having thought about this, I'm going to no longer recommend Guard
as the best way to protect routes, see this comment.
I might have to change the routing map to provide a context to every route, but only if that context will ever change (such as injecting new dependencies) - otherwise there's no point in passing it as you can easily get it from routesBuilder
.
from routemaster.
I'm closing this for now as you can get a context
as shown above.
from routemaster.
Related Issues (20)
- There is no way to preserve the page state in the Indexed Page and PageStackNavigator. HOT 1
- Support RouteConfig for convenient initialize.
- Is there any possibility to have route for pop-up? HOT 2
- Nested Routes With Parameters on IndexedPage
- tutorials on how to use routemaster?
- When opening URL directly takes users to /
- There is no way to set up nested tab navigation for navbars other than cupterino tab bar HOT 1
- There is no wait for a route to get over and execute something after that
- onUnknownRoute callback is not invoked correctly
- Inconsistent Redirect() behavior in Indexed Pages navigation
- How to swap routing map and then immediately switch to a specific route in the map HOT 1
- Analytics implementation update / additional docs request. HOT 1
- How to work with WillPopScope or disable back press from android device. HOT 4
- Is path restoration when switching tabs intentional when setting IndexedPage.of(context).index?
- Using history.back() but the widget state is recreated.
- Navigation falls back to homepage when 1) i change locale, 2) change screen size
- Back button always pops app HOT 1
- how to clear all routes in routemaster?
- Question: New stack in new window
- queryParameters are not available in child page of the IndexedPage.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from routemaster.