- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的应用程序中使用React Navigation
。我在标题中使用 createBottomTabNavigator
创建了 createStackNavigator
我试图访问我从屏幕传递的参数,但这些参数不可用。我还希望当有人单击“标题”按钮然后转到新屏幕时,但问题是“navigation.navigator()”功能在标题按钮中不可用。
这是我的 Nav.js 的样子:
import React from 'react';
import {View, Text, Button} from 'react-native';
import { createStackNavigator } from 'react-navigation-stack';
import { createAppContainer, createSwitchNavigator } from 'react-navigation';
import { createBottomTabNavigator } from 'react-navigation-tabs';
import Screen1 from './Screen1';
import Screen2 from './Screen2';
import Screen3 from './Screen3';
const bottomTab = createBottomTabNavigator(
{
openOrder: Screen1,
closeOrder: Screen2
}
);
const mainNav = createStackNavigator({
order: {
screen: bottomTab,
navigationOptions: ({navigation}) => ({
headerRight: (
<View>
<Button title="Map" onPress={() => console.log(navigation)} />
</View>
)
})
},
map: Screen3
});
export default createAppContainer(mainNav);
Screen1.js
import React, { useEffect } from 'react';
import { View, Text } from 'react-native';
const Screen1 = props => {
useEffect(() => {
props.navigation.setParams({
title: 'Some Content',
map: mapit,
});
}, []);
const mapit = () => {
console.log('Map it function');
};
return (
<View>
<Text>Screen 1</Text>
</View>
);
};
export default Screen1;
Screen2.js
import React from 'react';
import {View, Text} from 'react-native';
const Screen2 = () => {
return(
<View>
<Text>Screen 2</Text>
</View>
);
}
export default Screen2;
Screen3.js
import React from 'react';
import {View, Text} from 'react-native';
const Screen3 = () => {
return(
<View>
<Text>Screen 3</Text>
</View>
);
}
export default Screen3;
这里是Snack
最佳答案
您可以通过创建一个具有导航功能的按钮来解决这个问题。
withNavigation
是一个高阶组件,它将 navigation
属性传递到包装组件中。当您无法将 navigation
属性直接传递到组件中,或者不想在深度嵌套子组件的情况下传递它时,它非常有用。
示例
import React from 'react';
import { Button } from 'react-native';
import { withNavigation } from 'react-navigation';
class MyMoveButton extends React.Component {
render() {
return (
<Button
title="map"
onPress={() => {
this.props.navigation.navigate("map");
}}
/>
);
}
}
// withNavigation returns a component that wraps MyBackButton and passes in the
// navigation prop
export default withNavigation(MyMoveButton);
使用
import MyMoveButton from "path for MyMoveButton"
...
headerRight: (
<View>
<MyMoveButton />
</View>
)
关于javascript - 参数未传递且导航器在 createStackNavigator 中不可用 - React Navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60069419/
我正在构建我的第一个练习应用程序,并尝试使用 createAppNavigator 在屏幕之间组合导航。 但是,一旦我尝试使用 createAppNavigator我收到以下错误。 . 相关代码: A
我在 react-native 项目中导入堆栈导航器时遇到问题。我正在使用 JSX 语法。我在下面发布了有关该项目的信息,我希望这些信息与找到此问题的解决方案有关。 以下代码执行导入。它位于一个名为
尝试了很多方法,都没有找到很好的嵌套createDrawerNavigator createBottomTabNavigator createStackNavigator的方案 现在 抽屉(creat
场景: 我有一个应用程序,可使用三个导航选项卡(学校、管理员、家庭); 我现在正在尝试添加其他屏幕,这些屏幕不会有相应的选项卡。这些屏幕将使用类似 this.props.navigation.navi
我想在 ReactNative 上创建一个简单的导航示例。 下面是一段代码; import React, { Component } from 'react'; import { Button, Vi
我正在使用 createStackNavigator内createBottomTabNavigator来自 react-navigation在我的应用程序中。我想在我的屏幕上有一个标题。关注 Reac
我当前的代码 App.js import React from 'react'; import AuthenticationNavigator from 'app/src/navigations/Au
我当前的代码 App.js import React from 'react'; import AuthenticationNavigator from 'app/src/navigations/Au
我在我的应用程序中使用React Navigation。我在标题中使用 createBottomTabNavigator 创建了 createStackNavigator 我试图访问我从屏幕传递的参数
在过去的几天里,我一直在为我的屏幕添加一个动画标题。我在这方面取得了成功,但是我现在想默认将其用作我的标题,而不是将代码复制并粘贴到我希望使用它的所有屏幕中。目前,动画标题在屏幕中实现如下: 要呈现标
我使用 React Navigation 作为我的应用程序的导航器组件。我想更改堆栈导航器的字体系列。目前我这样做是为了更改 iOS 中的字体系列,并且效果很好: const LoggedInStac
我在我的项目中使用了 react-navigation,并弹出此错误。 我用谷歌搜索了这个错误信息,没有找到结果。 (我还不能发图片) 错误信息如下: `createStackNavigator()`
我有一个顶级 App.js 的 react-native 应用程序,即: import { createStackNavigator } from 'react-navigation'; class
当我使用 createStackNavigator 直接指定 drawerLockMode 时,它不起作用。 const drawerStack = createStackNavigator({
我创建了以下代码以导入到 app.js 中 import React from "react"; import { View } from "react-native"; import { creat
请查看 expo snack . 我有一个用于登录和未登录状态的切换导航器。 当用户登录时,切换器加载 DrawerNavigator加载 Screen1并通过 contentComponent 加载
我知道以前有人问过这个问题,但只针对旧版本的 react-navigation。从那时起,一些事情发生了变化。 createBottomTabNavigator 可以更快地创建底部导航器,函数 jum
更新: Git Repo of NotWorkingProject 尝试使用 react-navigation 包在 React Native(Expo-Typescript) 与我们处理常规 Rea
我正在使用 React Native 和 TypeScript 编写应用程序,并使用 React Navigation 进行路由。 在我下载的示例项目中,他们使用 StackNavigator({..
我是一名优秀的程序员,十分优秀!