100

import React from 'react';
import type {PropsWithChildren} from 'react';
import {
  Dimensions,
  FlatList,
  Image,
  Pressable,
  SafeAreaView,
  ScrollView,
  StatusBar,
  StyleSheet,
  Text,
  useColorScheme,
  View,
} from 'react-native';
import Home from './screens/Home';
import Items from './data.json';

const totalHeight = Dimensions.get('window').height;

function App(): JSX.Element {
  return (
    <SafeAreaView>
      <StatusBar />
      <View style={styles.container1}>
        <Home />
      </View>
    </SafeAreaView>
  );
}

const styles = StyleSheet.create({
  container1: {
    flex: 1,
  },
  
});

export default App;

100

import {
  Dimensions,
  FlatList,
  Image,
  Pressable,
  StyleSheet,
  Text,
  View,
} from 'react-native';
import React from 'react';
import Items from '../data.json';

const totalHeight = Dimensions.get('window').height;
const Home = () => {
  return (
    <View style={styles.container}>
      <FlatList
        contentContainerStyle={styles.itemsContainer}
        data={Items.items}
        numColumns={2}
        keyExtractor={(item, idx) => item + String(idx)}
        renderItem={({item}) => (
          <Pressable style={styles.itemContainer}>
            <Image style={styles.image} source={{uri: item.img}} />
            <Text style={styles.text}>{item.name}</Text>
          </Pressable>
        )}
      />
    </View>
  );
};

export default Home;

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: 'gray',
    height: totalHeight,
  },
  itemsContainer: {
    flex: 1,
    gap: 4,
    justifyContent: 'space-between',
    alignItems: 'center',
  },
  itemContainer: {
    display: 'flex',
    justifyContent: 'space-around',
    alignItems: 'center',
    backgroundColor: '#fff',
    width: 100,
    height: 100,
    borderRadius: 15,
    margin: 30,
  },
  image: {
    height: 50,
    width: 50,
  },
  text: {
    color: 'black',
    fontSize: 20,
  },
});

如果我在没有Scroll视图的情况下调用Home组件,它会呈现数据,但会出现虚拟化错误,但如果我移除Scroll视图,它只会显示空白屏幕

我从主要组件中删除了该视图,以查看它是否与平面列表有任何冲突,但它仍然无法工作

请给我找个解决方案,我是Reaction Native的新手

推荐答案

我试过你提供的代码, itemsContainer: { flex: 1, gap: 4, ...}

在这里只要go 掉flex: 1个,

    itemsContainer: {
        gap: 4,
        alignItems: 'center',
        justifyContent: 'space-between',
        backgroundColor: 'maroon',
      },

(Quick fix... cannot explain this behavior of react native)

Android相关问答推荐

打开平板电脑的下载文件夹中的文件,例如使用其mimeType将Intent发送到我们的应用程序

如何完全隐藏的元素堆叠在CardView?

android回收器查看点击事件无响应

学习Kotlin问题.无法理解Modifier参数

可组合函数无限地从视图模型获取值

如何将DrawableId参数传递给XML布局?

Android - 如何使 TextInputEditText 的高度恰好为 2 行?

当 EditText 用于在 android studio 中将字符串发送到 firebase 时,仅允许安全调用错误

浏览器未命中断点判断 USB 连接设备

如何绘制内边框?

React Native Android 应用程序在调试模式下运行良好,但当我们发布 apk 时,它会生成旧版本的应用程序

组成不重叠的元素

没有互联网连接时,Firebase Storage putFile() 永远不会完成

Compose `Icons.Outlined.Star` 没有概述

无法为:app@debug/compileClasspath解析依赖项com.github.dhaval2404:imagepicker-support:1.7.1

Android Studio xml 预览问题无法初始化编辑器

优化 Room 数据库迁移

如何为具有不同屏幕尺寸但相同密度的手机创建响应式布局?

如何在 flow.stateIn() 之后从流中的另一个函数发出emits ?

如何获取 Material Design 3 的底部导航栏高度?