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); 
相关问题