0

我剛剛遇到了反應路由器v4的問題,也許這不是什麼大問題,但我不知道如何以正確的方式處理這個問題。 它應該是這個樣子:React-Router v4(列表/列表項,路由,動畫)

<Route path="/" component={List}> 
    <Route path="/listitem/:id" component={ListItem} /> 
</Route> 

如果我現在對(「/」 - 列表)頁隨機我希望看到來自不同(所有的listItems中的「/列表項/:ID」 - ListItem) - 頁面。 (用較少的信息,但這應該是一個簡單的CSS問題)
只要我點擊一個,我想打開一個全屏(動畫和東西......但這不是問題),路線應該改變,不出所料:-)。
如果我現在在一個特定的ListItem上並觸發history.goBack(),我想將該項目動畫回List中,並且路線應該變回「/」。

附加(也許是可選的)想法:如果我最初在「/ listitem /:id」頁面瀏覽網站並點擊鏈接到「(/」 - 列表)頁面, t是ListItem的任何動畫。

我想這是一個反應路由器的基本問題,但我實際上不知道現在如何正確實現這一點。

我不知道它是否有任何區別,但我正在使用Redux。

我希望有人能幫助我。 預先感謝您。

回答

0

我認爲這將是最好的與父組件狀態處理。例如:

this.state = { fullscreen: false, idOpened: null }

一旦你點擊子組件(列表項)上,您可以設置發送的ID給父然後觸發全屏模式回調。這樣您就不需要使用歷史記錄API,訪問者也不必等待頁面加載(除了最初的那個)。

它還可以很容易地在點擊另一個列表項時不觸發任何動畫。