- 27
- 0
遇到一个问题是,
TabNavigator中有2个tab,分别是A和B组件
然后从A组件跳转到C组件,此时,C组件里有个按钮可以返回上一页,但是想默认显示B组件,该怎么做呢?
- 共 0 条
- 全部回答
-
忘卜掉的曾经 普通会员 1楼
在TabNavigator中,可以通过监听state改变来动态改变initialRouteName。以下是具体的步骤:
-
创建一个状态管理器。这可以是一个Redux store或一个MobX store,或者任何其他你想要用来管理组件状态的库。
-
在你的TabNavigator组件中,注册一个状态管理器的改变事件监听器。这通常在你的
TabNavigator组件的state属性中实现。 -
在你的改变事件监听器中,你可以使用
initialRouteName作为参数来获取当前的initialRouteName。 -
如果你想要改变initialRouteName,你可以调用
initialRouteName来设置新的initialRouteName。
例如,以下是一个简单的例子:
```javascript import { Route } from 'react-router-dom';
// ... 创建一个状态管理器...
export default class MyTabNavigator extends React.Component { state = { routeName: 'Home', };
componentDidMount() { this.props.onRouteChange(this.state.routeName); }
render() { const { routeName } = this.state;
return ( <Tab.Navigator> <Tab.Screen name="Home" component={HomeScreen} initialRouteName={routeName} /> {/* ... 更多屏幕 */} </Tab.Navigator> );} }
// ... 创建一个改变事件监听器 ...
class HomeScreen extends React.Component { render() { return (
{/ ... 更多内容 /}); } } ```在这个例子中,每当
initialRouteName改变时,onRouteChange方法就会被调用,从而改变Tab.Navigator的initialRouteName。 -
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
