Giter Club home page Giter Club logo

Comments (7)

ItalyPaleAle avatar ItalyPaleAle commented on August 9, 2024

You can define a function outside and use its identifier.

For example (on my phone so forgive me for the simplified code and if there are mistakes):

const myCondition = () => {
    // do something
}

Then use myCondition as second argument for the wrap method, as many times as you want:

const routes = {
    '/something': wrap(Something, myCondition),
    '/hello': wrap(Hello, myCondition)
}

from svelte-spa-router.

ItalyPaleAle avatar ItalyPaleAle commented on August 9, 2024

Another thing: I guess it’s fine to call “replace” within the handler itself (since it waits for the next tick), but you should still ensure you return false (or a false-y value)

from svelte-spa-router.

frederikhors avatar frederikhors commented on August 9, 2024

First answer: I created protectedRoute(Component) helper. Thanks.

Second answer: this is something I don't understand.

What happens if I do not return false but just return replace('/login')?

from svelte-spa-router.

ItalyPaleAle avatar ItalyPaleAle commented on August 9, 2024

Well, the condition callbacks are expected to return a Boolean indicating wether the condition succeeded. If you return a truthy value, it means the router can go ahead and inject the component in the DOM. you’re then calling replace which will replace the component on the next tick. So, you get the same result - but the unwanted component will still be injected first.

from svelte-spa-router.

ItalyPaleAle avatar ItalyPaleAle commented on August 9, 2024

On a second though, since the replace function doesn’t have a return value, it returns undefined, which is a false-y value. So you might be ok there :) (although it’s not a documented behavior and it might change in the future)

from svelte-spa-router.

frederikhors avatar frederikhors commented on August 9, 2024

Oh boy. Thanks, now it's clear.

I think I will go with on:conditionsFailed={conditionsFailed}.

from svelte-spa-router.

AxewBoTX avatar AxewBoTX commented on August 9, 2024

Can anyone of you give the whole code this segment, like presented int he starting, but along with the solved answer?
Also I am having 1 problem.
Whenever i use replace to go to a route
The route that i choose to go to even if it has no condition at all still dont render

from svelte-spa-router.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.