作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在ExNavigation项目中使用Exponent。
如何从路线组件之外进行导航?
所以我从同一个地方创建
<NavigationProvider router={router}>
<StackNavigation initialRoute={router.getRoute('First')}/>
</NavigationProvider>
navigator
,以便可以
push
和
pop
。
First
组件内部进行推送,但是我正在
renderRight
组件中进行此操作,该组件在我的
static route
内部声明,因此我无法访问
this.props.navigator
。
<NavigationProvider>...
)传递到路线组件的方法。
最佳答案
另一个选择是从First组件内部进行推送,但是我正在renderRight组件中进行此操作,该组件在我的静态路由中声明,因此我无法访问this.props.navigator。
您可以使用this.props.navigator
装饰器访问@withNavigation
。这是LogoutButton
按钮的示例,您可以在renderRight
中使用它。
import React, {Component} from "react";
import {AsyncStorage, Button} from "react-native";
import Router from "../../Router";
import {withNavigation} from "@exponent/ex-navigation/src/ExNavigationComponents";
@withNavigation
export default class LogoutButton extends React.Component {
render() {
return (
<Button
title='Log out'
onPress={()=>{this.doLogout()}}/>
)
}
doLogout() {
AsyncStorage.clear();
this.props.navigator.immediatelyResetStack([Router.getRoute('login')], 0)
}
}
关于navigation - ExNavigation-从父组件或renderRight访问导航器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40708259/
我在ExNavigation项目中使用Exponent。 如何从路线组件之外进行导航? 所以我从同一个地方创建 我想访问navigator,以便可以push和pop。 另一个选择是从Fi
嗨,我是 Expo 新手,但我一直很难尝试运行我的代码。我遇到了错误:您必须指定initialRoute或initialStack来初始化此StackNavigation即使我已经设置了它。 这是我的
在下面的代码中,将数据库变量作为 props 传递给 Router/NavigationProvider 服务的所有组件的最佳方法是什么? import { createRouter, Nav
我是一名优秀的程序员,十分优秀!