- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在初始屏幕上有从服务器加载的 Prop 。我想将它们传递给其余的选项卡屏幕。但是,我没有在网上找到任何示例。我知道 screenProps,但不知道如何设置它。我尝试过的所有方法都导致了错误。
const EProj = TabNavigator({
Home: { screen: HomeScreen },
Map: { screen: MapG },
Login: { screen: Login },
Profile: { screen: Profile },
}, {
tabBarPosition: 'bottom',
animationEnabled: true,
tabBarOptions: {
activeTintColor: '#1abc9c',
},
});
这是我的屏幕设置。我应该把 screenProps 放在哪里?
<EProj
screenProps={cats}
/>
任何关于如何设置它的好例子都会有所帮助。提前致谢。
主屏幕设置:
class HomeScreen extends React.Component {
static navigationOptions = {
tabBarLabel: 'Home',
};
...
componentWillMount(){
console.log("Starting to load assets from server!");
this.onLoadCats(); /*starts asset loading*/
}
render() {
return (
<View style={styles.container}>
<Text>Welcome to alpha 1.17 This is hard system test.</Text>
<AssetsLoad catsL={this.state.catsL} />
</View>
);
}
}
最佳答案
您可以做的是创建一个可以返回导航的高阶组件,在该组件的 componentDidMount
中,您可以加载数据并通过 screenProps
传递它。
示例
const EProj = TabNavigator({
Home: { screen: HomeScreen },
Map: { screen: MapG },
Login: { screen: Login },
Profile: { screen: Profile },
}, {
tabBarPosition: 'bottom',
animationEnabled: true,
tabBarOptions: {
activeTintColor: '#1abc9c',
},
});
class MainNavigation extends React.Component {
constructor(props) {
super(props);
this.state = {cats: []};
}
componentDidMount() {
this.onLoadCats().then((cats) => this.setState({ cats: cats }));
}
render() {
return(<EProj screenProps={{ cats: this.state.cats}} />
}
}
// Now you can do in your screens
console.log(this.props.screenProps.cats);
/* This is next line is wrong, please check update above */
/* console.log(this.props.navigation.state.params.cats); */
关于javascript - 在 TabNavigator 中 react 导航传递 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46264767/
我有这个组件,它包含一个由 TabNavigator 覆盖在底部的列表。任何想法如何解决它?只有一种造型方式吗? render() { return (
情况是,我有三个屏幕,显示从 API 获取的结果,并允许用户对这些结果分派(dispatch)操作。这些操作会触发(应该)导致其他两个屏幕。换句话说,如果用户在任何屏幕上并执行某些操作,其他两个屏幕应
页眉标题似乎无法按预期工作。 我已经将 react-native 和所有其他依赖项更新到最新版本,并查看了 react-navigation 文档。我还在 github 上为此项目创建了一个错误。 如
当我运行模拟器时... react-native run-ios ...我在终端中看到一条消息“TabNavigator 已弃用。请使用 createBottomTabNavigator...” 但是
我相对确定我发现这是不可能的,但我想确保没有办法。 有问题的应用程序从 AppNavigator StackNavigator 开始. export const AppNavigator = Stac
如何设置 TabNavigator 选项卡的高度和填充样式?我在做以下事情: import Icon from "react-native-vector-icons/MaterialIcons"; c
所以我正在使用React-native React-navigation,并且我试图将我的应用程序设置为具有一些流程。 这个想法是嵌套一个抽屉,我可以在选项卡导航器的标题中打开和关闭它。或者同时使用
我在 StackNavigator(祖级导航器)内的另一个 TabNavigator(父级导航器)中使用 TabNavigator(子级导航器)。 这是我的代码。 const SimpleAp
我正在尝试将 TabNavigator 中的选项卡设置为橙色。我尝试了多种不同的方法,但似乎都不起作用(即背景始终为标准灰色)。 @namespace mx "library://ns.adobe.
我假设之前有人问过这个问题,但我找不到它,所以请告诉我它是否与其他措辞或其他内容一起找到了重复项。 问题出在包含多个 CellTemplate 的 SL4 DataGrid,包括 Checkbox、B
我想隐藏 Header 和 TabNavigator 选项卡 onScroll。我怎么做?我想在滚动上隐藏它们并在 ScrollUp 上显示它们。我的代码: import React, { Compo
我在 tabnavigator 中有组件。在我的组件中,我有多行文本,所以当我在 InputText 键盘上输入多行时,我想使用 KeyboardAvoidingView 在键盘显示时推送屏幕。 这是
这是我的层次结构, -StackNavigator (root) -Portada -MainScreen (TabNavigator) -Home -
TabNavigator 有问题。选项卡的标签被截断,一旦用户将鼠标放在选项卡上,它就会再次重绘。有没有办法以编程方式重新绘制选项卡的标签? 最佳答案 您可能还想考虑 SuperTabNavigato
我用过 TabNavigation对于我的应用程序。在某些屏幕上,我希望它只显示在 portrait 上方向,其他是landscape .我找到了 react-native-orientation并在
我在我的 React Native 应用程序中使用选项卡导航器、堆栈导航器和开关导航器的组合 react-navigation 。 这很有效,但我想在每个屏幕中保留底部选项卡。目前,如果我导航到 Us
如何隐藏 TabNavigator 中的标签并仅显示图标?如果我执行以下操作: const Tabs = TabNavigator({ Home: { screen:MainHome,
这是我的项目文件层次结构 RootTabNavigator | AuthStackNavigator // I want to go back to this navigator
我使用 createMaterialTopTabNavigator 创建了一个自定义选项卡导航器,但在其中一个选项卡中我想创建一个 StackNavigator。这可能吗? 我发现了很多嵌套在 Sta
问题我使用 React Native 制作了一个非常基本的应用程序,现在我想要有多个选项卡。当我尝试添加提要和评论选项卡时,收到一条错误消息: Uncaught Error: Route 'Feed'
我是一名优秀的程序员,十分优秀!