15

有什么方法可以用 React Native Router Flux 综合定义场景堆栈(历史)?假设我有一个应用程序,用户可以自然地从中导航A –> B –> C。我想在场景 C 上启动应用程序,它与自然行为 () 具有相同的历史记录,因此用户从最初打开的场景A -> B -> C导航回。BC

编辑:我想它应该可以通过使用 Redux Persist 以某种方式实现,但我发现了这个相关的问题

4

1 回答 1

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);
于 2017-01-06T17:37:17.967 回答