Comments (2)
I don't think this will quite work. The Route
component actually just returns the props object which is then consumed by the Routes
component. It isn't really a normal component, but more of a way to inject the route configuration leveraging the tree structure JSX children give us. All of the route components are evaluated before Routes
renders so any route which returns a Navigate
I would think would cause a navigation to occur immediately, regardless of if that route matches.
Route rendering on match occurs in the element
or component
defined on the Route
, so it would be more appropriate to put the navigation in there. I think the easiest would be to just wrap another route around those you want authorized but you could also possibly encapsulate that as well. Something like (untested):
const AuthenticatedRoute = (props: AuthenticatedRouteProps) => {
const [, rest] = splitProps(props, ["isAuthed", "path"]);
return (
<Route
path={props.path}
component={() => props.isAuthed ? <Outlet /> : <Navigate href="/login" />}
>
<Route {...rest as RouteProps} path="" />
</Route>
);
};
This would probably need to have some extra logic to handle paths which end in a *
.
from solid-router.
New to solid.js and its ecosystem so I don't know how to leverage all the API's quite yet. But this definitely makes sense! Thank you for your help!
from solid-router.
Related Issues (20)
- Crash when server function throws redirect and wrapped in createAsync HOT 3
- `window.location` holds incorrect value on initial client-side render HOT 1
- Actions called in onMount (or first run effect) are destroyed by start process, and do not receive values nor errors HOT 4
- In the new version, Route is imported as a type rather than a method. HOT 3
- Returning `never` from `redirect` function makes incorrect behavior HOT 6
- Absolute redirects inside `cache` are ignored if not called in `load`
- ErrorBoundary fallback renders twice HOT 2
- Drive letter is added to relative path on navigation when page is build on windows HOT 2
- NoJS mode is broken: initFromFlash cookie does not populate submission props HOT 1
- Ckeditor link trigger the router.
- Router fails to work properly on navigation HOT 3
- [Bug?]: submission.clear is not a function HOT 2
- Type issue: RouteLoadFunc generic cannot be inferred correctly
- Throwing or returning in redirect inside a cache function used in load results in error HOT 1
- Weird redirection when using Router and Route HOT 5
- 'use server' at top of file results in TypeError: action.apply is not a function HOT 3
- Solid Elements don't work with Server Actions HOT 2
- useParam() doesn't return a parameter if the value of it starts with a hash while using the HashRouter
- ErrorBoundary not working when using createAsync's accessor in createEffect HOT 4
- flaky cache in CatchAll Route after hydration HOT 2
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 solid-router.