我有一个Router
设置 2 个选项卡场景:
-
Tab 1: have 2 navigable scenes (static screens);
-
屏幕A:有一个按钮可以导航到Screen B;
-
屏幕B:只要有文字;
-
Tab 2: just have 1 static screen.
代码如下。
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 中的按钮:应用程序导航至Screen B(仍在选项卡 1 中);
- 单击选项卡 2:应用程序导航至Screen C(在表 2 中)。
- 单击选项卡 1:应用程序导航至Screen A(在表 1 中)和NOT正如预期的那样,到屏幕 B。
react-native-router-flux
当我们返回选项卡时,不会保留选项卡的历史堆栈。或者我在这里做错了什么?
软件包版本:
- 反应 v15.3.2
- 反应本机 v0.34.1
- 反应本机路由器-flux v3.36.0
事实证明这是一个错误反应本机路由器通量包,并且它被固定在这个拉取请求 https://github.com/aksonov/react-native-router-flux/pull/1312.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)