React Router: Route definert i barne komponent som ikke fungerer

stemmer
0

I hovedkomponenten i bruke bryter

function Router(props) {

    return (<main>
        <Switch>
            <Route exact path='/prices/'
                   render={(props) => <PricesPage {...props} />}
            />
            <Route path=/prices/add/
                   render={(props) => <PriceGroupAddFormConnected {...props}/>}
            />
        </Switch>
    </main>) 
}

Og i en av PricesPage barn jeg definere rute til å gjengi en dialog

PricesPage:

function PricesPage(props) {

    return (<Child/>) 
}

Barn:

function Child(props) {

    return (
            <><Route exact path=/prices/dialog component={Dialog}/>
            <Child1/></>)
        )

}

Og i child1 jeg definere en kobling.

Child1:

function Child1(props) {

    return (
            <Link to=/prices/dialog/>)
        )

}

Forventet: når koblingen endret -> dialog åpnes

Nåværende: link endret, men dialogen is'not åpning. Men da jeg definere rute i hovedkomponenten, det fungerer, men jeg trenger for å holde andre barn komponenter i henhold til dialog, så det er ikke nok

Publisert på 09/10/2019 klokken 12:57
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Når du treffer /prices/, ruter /prices/dialoger opprettet fordi det er i et barn komponent <PricesPage>. Men, når du går til /prices/dialog, ruten /prices/dialoger losse fordi /prices/dialogsamsvarer ikke akkurat /prices/heller enn /prices/add/.

Du har 2 alternativer:

  1. Ta ut exactnøkkelen på <Route path='/prices/' render={(props) => <PricesPage {...props} />}. Så når du treffer /prices/dialog, vil du ha både /prices/komponent og /prices/dialogkomponent gjengis (samme for /prices/add/)
  2. Legg inn ruten /prices/dialogi ruteren til side andre ruter /prices/og/prices/add/

Jeg anbefaler andre en hvis du trenger egen gjengi og første en hvis du kan ha flere gjengi samtidig.

Svarte 10/10/2019 kl. 11:14
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more