14

有沒有什麼方法可以用React Native Router Flux來合成定義場景堆棧(歷史記錄)?比方說,我有一個應用程序,用戶可以自然地從A –> B –> C導航。我想在場景C上啓動應用,該場景與自然行爲具有相同的歷史記錄(A -> B -> C),因此用戶從最初打開的場景C導航回BReact Native Router Flux合成場景堆棧(歷史記錄)

編輯:我想應該可以通過使用Redux Persist實現,但是我發現這個有關issue

+0

你能否確認這是否是該應用的第一個屏幕? –

+0

是的,'C'將是該應用程序的第一個屏幕。 – sealskej

+1

這可以用ex-navigation實現,你可以通過immediateresetstack方法提供一個導航堆棧和棧的索引來顯示。在原生路由器通量中找不到任何這樣的事情。 –

回答

1

我設法做到了假虛空的初始場景。這是非常哈克解決方案,從C到B的動畫仍然無法正常工作。

import React, {Component} from "react"; 
import {AppRegistry} from "react-native"; 
import {Scene, Router, Actions, ActionConst} from "react-native-router-flux"; 
import A from "./A"; 
import B from "./B"; 
import C from "./C"; 

class App extends React.Component { 
    componentDidMount() { 
    const params = { 
     onBack:() => Actions.b({ 
     direction: 'fade', 
     onBack:() => Actions.a({ 
      direction: 'fade' 
     }) 
     }), 
     duration: 0 
    }; 
    Actions.c(params); 
    } 

    render() { 
    return (
     <Router> 
      <Scene key="root" style={{paddingTop: 60}}> 
      <Scene key="empty" 
        component={class extends Component{render() {return null}}} 
        /> 
      <Scene key="a" component={A} title='A' type={ActionConst.RESET}/> 
      <Scene key="b" component={B} title='B'/> 
      <Scene key="c" component={C} title='C'/> 
      </Scene> 
     </Router> 
    ) 
    } 
} 

AppRegistry.registerComponent('untitled',() => App); 
相關問題