react-native - React Navigator 5 Stack“组件”不返回任何内容
问题描述
我正在使用 React Native 为我的网站创建我的应用程序,由于我无法弄清楚如何从滚动中修复标题,我找到了 React Navigator 5 的替代方法。但是,在 中<Stack.Screen name="Home" component={Home} />
,它只显示 iPhone,上面只有一个文本说“Home”,它是来自 的名称参数Stack.Screen
,它应该显示我从我调用的 API 获得的列表,因为我FlatList
在 React Navigation 之前测试了显示:
这是代码:
import React, { Component, useState, useEffect } from 'react';
import { Text, View, ScrollView, Image, Platform, TouchableHighlight, SafeAreaView, FlatList, StyleSheet } from 'react-native';
import { createDrawerNavigator } from '@react-navigation/drawer';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
const Stack = createStackNavigator();
function Main() {
return (
<SafeAreaView>
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={Home} //Class component, Turning it to Function Component no luck for me to fix.
/>
</Stack.Navigator>
</NavigationContainer>
</SafeAreaView>
);
}
class Home extends Component {
constructor(props) {
super(props)
this.state = {
postlists: [],
postlistsnum: 0,
}
}
componentDidMount() {
this.SendAPI();
}
SendAPI() {
//any api get command here
}
postRow({ item }) {
return (
<View
style={PostListStyles.post}>
<Text>{item.title}</Text>
</View>
)
}
render() {
return (
<FlatList
data={this.state.postlists}
renderItem={this.postRow}
scrollEnabled={false}
style={{
marginTop: 50,
}}
/>
)
}
}
export default Main;
解决方案
您可以尝试导出默认值而不是函数 Main() { only...
像这样:导出默认函数Main(){
另外我认为您不应该将 SafeAreaView 放在 NavigationContainer 之外。尝试将 SafeAreaView 放在 Home 类中
推荐阅读
- swift - CoreData 聚合一对多关系
- python - 在 Lutz 的“Learning Python”中实现 ord() 背后的逻辑
- javascript - 不显示多个标记 MAP API
- android - BigPictureStyle 通知在 AndroidX 中不起作用
- python-3.x - 当我将 & 与 if 条件一起使用时,我的 python 代码不起作用;但是当我使用嵌套的 if 循环时,它工作正常
- python - Python 错误消息:TypeError:'str' 对象不可调用
- r - Stargazer 没有显示稳健 se 的观察次数
- r - 无法使用 R
- apache-kafka - 如何更改 Kafka Connect Source Connector 生成的主题名称
- python - 有没有办法获得 for 循环的第一个结果?