6

私はRouter2つのタブシーンでセットアップしています:

  • タブ 1: 2 つのナビゲート可能なシーン (静的画面) があります。
    • 画面 A:画面 Bに移動するためのボタンがあります。
    • 画面 B:テキストを用意するだけです。
  • タブ 2:静的な画面を 1 つだけ用意します。
    • 画面 C:テキストを用意するだけです。

コードは次のとおりです。

app.js:

import React from 'react';
import { Router, Scene } from 'react-native-router-flux';
import Tab from '../tab';
import ScreenA from './a';
import ScreenB from './b';
import ScreenC from './c';


export default class App extends React.Component {
  render(){
    return (
      <Router>
        <Scene key="root">
          <Scene key="tabbar" tabs={true}>

            <Scene key="tab1" title="Tab 1" icon={Tab}>
              <Scene key="a" title="Screen A" component={ScreenA} />
              <Scene key="b" title="Screen B" component={ScreenB} />
            </Scene>

            <Scene key="tab2" title="Tab 2" icon={Tab}>
              <Scene key="c" title="Screen C" component={ScreenC} />
            </Scene>

          </Scene>
        </Scene>
      </Router>
    );
  }
}

画面も至ってシンプル。

a.js:

export default class ScreenA extends React.Component {
  render(){
    return (
      <View>
        <Text>This is Screen A</Text>
        <TouchableHighlight onPress={() => Actions.b()}>
          <Text>Go to Screen B</Text>
        </TouchableHighlight>
      </View>
    );
  }
}

b.js:

export default class ScreenB extends React.Component {
  render(){
    return (
      <View>
        <Text>This is Screen B</Text>
      </View>
    );
  }
}

c.js:

export default class ScreenC extends React.Component {
  render(){
    return (
      <View>
        <Text>This is Screen C</Text>
      </View>
    );
  }
}

使用事例:

  • アプリは画面 A (タブ 1) をレンダリングします。
  • 画面 A のボタンをクリックします。アプリは画面 B (まだタブ 1 にあります) に移動します。
  • タブ 2 をクリックします。アプリは画面 C (タブ 2) に移動します。
  • タブ 1 をクリックします。予想どおり、アプリは画面 A (タブ 1 内) に移動し、画面 B には移動しません

react-native-router-fluxタブに戻ったときにタブの履歴スタックを保持していません。それとも、ここで何か間違ったことをしていますか?

パッケージのバージョン:

  • 反応 v15.3.2
  • 反応ネイティブ v0.34.1
  • 反応ネイティブルーターフラックス v3.36.0
4

1 に答える 1

3

これはreact-native-router-fluxパッケージのバグであることが判明し、このプル リクエストで修正されました。

于 2016-11-14T20:14:47.830 に答える