Giter Site home page Giter Site logo

Comments (6)

rubencarvalho avatar rubencarvalho commented on May 22, 2024 3

Hi!
Following up on this issue:
You can programatically navigate by using the onFollow property in the SideNavigation (which is fired when an anchor is clicked) and onItemClick in the TopNavigation component.

For example:

import { navigate } from "gatsby"

<SideNavigation
    onFollow={(event) => {
        event.preventDefault();
        navigate(event.href);
    }}
/>

This should still allow Gatsby to use the linking enhancement features that you mentioned (preloading, prefetching).

from components.

rubencarvalho avatar rubencarvalho commented on May 22, 2024 1

Hey,
thank you for reaching out and bringing this use case to our attention.

We currently don’t support using a custom component as a side navigation item. Allowing this does seem like a sensible addition to the side navigation component, however we don’t have any plans for making this change at the moment.

I will keep this issue open to collect any additional feedback or use cases.

Thanks!
RC

from components.

just-boris avatar just-boris commented on May 22, 2024 1

Simply allowing value: <Link href="/page2"></Link> as the OP suggests does not work, because we need to apply additional styles for hover and active states.

Applying styles like .side-navigation a {...} is unsafe because we do not know what is going on inside react-router library. You may even use a different routing library after all. We cannot make any assumptions what is inside that <Link>

This leaves us with the current onFollow={event => { event.preventDefault(); navigate(event.href); }}. May look a little verbose, but it allows us to not worry about every new router version, because everything works same way as before.

If you want us to prioritise this feature request, it needs some solid reasons, not just aesthetic preferences

from components.

sparkyfen avatar sparkyfen commented on May 22, 2024

I'd like to piggyback off of the this issue with my request for the TopNavigation having a component.

I'd like to be able to add a custom login widget that Telegram offers: https://core.telegram.org/widgets/login

This has been translated into React/Typescript but since the TopNavigation component doesn't support custom components, I'm unable to add it into the navigation or point to one of the Button elements to do this business logic done in the component.

from components.

fortejas avatar fortejas commented on May 22, 2024

Would be nice to have an easy interface to make use of react router with cloudscape.

from components.

rikkuness avatar rikkuness commented on May 22, 2024

Not directly related to this but I have a use case where I'd like to be able to disable links in the SideNavigation.

Further to the above I'm using Next.JS and for navigation I use the following and it works well for me

onFollow={(event) => {
    event.preventDefault()
    push(event.detail.href)
}}

from components.

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.