GithubHelp home page GithubHelp logo

Comments (6)

raamcosta avatar raamcosta commented on June 23, 2024

I would go with what you think it’s easier and simpler unless you see a specific reason to chose the other 🙂

There’s no single best answer.

from compose-destinations.

ethi1989 avatar ethi1989 commented on June 23, 2024

I would go with what you think it’s easier and simpler unless you see a specific reason to chose the other 🙂

There’s no single best answer.

Yes,first I choose A, but when i look you tivi project, the screen in this project may like this

interface PopularShowsNavigator {
    fun navigateUp()

    fun openShowDetails(showId: Long)
}

@Destination
@Composable
fun PopularShows(
    navigator: PopularShowsNavigator
) 

interface FollowedNavigator {
    fun openUser()

    fun openShowDetails(showId: Long)
}

@Destination
@Composable
fun Followed(
    navigator: FollowedNavigator
)

it define a Interface for each screen. So can you give me a suggestion?

from compose-destinations.

raamcosta avatar raamcosta commented on June 23, 2024

If first option works for you, keep it.
The reason I did it this way on tivi is because we have a multi module setup and all feature modules don’t know how to navigate.
So the answer is the same, use the simpler approach unless you cannot for any reason.

from compose-destinations.

ethi1989 avatar ethi1989 commented on June 23, 2024

If first option works for you, keep it.
The reason I did it this way on tivi is because we have a multi module setup and all feature modules don’t know how to navigate.
So the answer is the same, use the simpler approach unless you cannot for any reason.

Thank you , In my project I have many feature modules, but I design a interface for each module. For example , I have login module, but I only define a LoginFinish interface for it. when other module use it , like this

                    dependency(LoginNavGraph) {
                        OnLoginFinished {
                            navHostController.navigate(OtherNavGraph){
                                popUpTo(LoginNavGraph)
                            }
                        }
                    }

is it right? Or do you have an other good way? Thank you again!

from compose-destinations.

raamcosta avatar raamcosta commented on June 23, 2024

It looks great 👍

from compose-destinations.

ethi1989 avatar ethi1989 commented on June 23, 2024

Thank you

from compose-destinations.

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.