react-native - 如何在应用程序的主屏幕上显示 Flatlist 组件?
问题描述
我开始使用 React Native,并遵循 React Native 教程的基础知识,能够根据需要创建和修改 Flatlist。我现在正在尝试创建一个简单的待办事项应用程序,它将调用不同的类到主屏幕。我遇到的问题是,虽然我可以从不同的类中调用简单的文本,但我无法显示列表中的内容。
这是 Homescreen.js 中的代码:
import { View, Text, StyleSheet } from 'react-native';
import NavBar from "../components/NavBar";
import MainComponent from "../components/MainComponent"
const HomeScreen = () => {
return (
<View>
<NavBar/>
<MainComponent/>
</View>
);
};
这是 MainComponent.js 中的代码:
import { FlatList, StyleSheet, Text, View } from 'react-native';
class MainComponent extends Component {
render() {
return (
<View style={styles.container}>
<Text> This text is shown when running the application </Text>
<FlatList
data={[
{key: 'Placeholder data 1'},
{key: 'Placeholder data 2'},
]}
renderItem={({item}) => <Text>{item.key}</Text>}
/>
</View>
);}}
调用“MainComponent/”时,显示“运行应用程序时显示此文本”-文本,但平面列表的内容不显示在屏幕上。如果我将上面显示的 MainComponent.js 复制到一个单独的项目并单独运行它,它会正确显示 Flatlist 的所有内容。但我目前的解决方案不起作用。
解决方案
找到导致列表不显示的原因。这是弹性
const styles = StyleSheet.create({ container: { flex: 1, paddingTop: 22 }, item: { padding: 10, fontSize: 18, height: 44, }, })
从代码中取出“flex: 1”解决了这个问题:)
推荐阅读
- c++ - 将字符串的一部分直接复制到向量错误:没有匹配运算符=
- algorithm - 查找最大权重且大小不大于给定限制的节点
- python - 带有路由器的 Django multidb - 在测试期间无法插入
- r - 如何在跳过第 1 列和第 3 行时删除 () 中的所有内容
- python - 有没有办法在函数中模拟烧瓶请求对象?
- firebase - 如何在 Flutter 中将测试设备添加到 Firebase Cloud Messaging (FCM)
- .htaccess - 如何使用 htaccess 文件将 url 从 https://example.com/12345.html 重定向到 https://example.com/product/12345/
- c++ - 如何正确释放 BitStreamFilter (bsf) 而不会出现双重释放错误?
- c# - 如何使用 selenium/C# 创建两个具有不同 url 的不同窗口
- testing - 集成测试应该是独立的吗?