javascript - React Native - 根据屏幕设置项目宽度
问题描述
我希望每行出现 3 个项目,并且希望根据屏幕本身调整它们的大小,我该怎么做?
我尝试将 justifyContent 提供给 flatlist columnWrapperStyle 道具,但显示结果很荒谬
const renderSearchItem = ({
item: { id, type, title, original_title, poster },
}) => (
<Item
id={id}
type={type}
title={title == null ? original_title : title}
poster={poster}
navigation={navigation}
style={{ width: 115, height: 175 }}
/>
);
<FlatList
data={data?.datas}
renderItem={renderSearchItem}
keyExtractor={(item, index) => index.toString()}
key={search}
numColumns={3}
onEndReachedThreshold={1}
onEndReached={() => {
fetchMore({
variables: {
search,
offset: data?.datas?.length + 18,
},
updateQuery: (
previousResult,
{ fetchMoreResult }
) => {
if (
!fetchMoreResult ||
fetchMoreResult?.datas?.length === 0
) {
return previousResult;
}
return {
datas: previousResult?.datas?.concat(
fetchMoreResult?.datas
),
};
},
});
}}
ListHeaderComponent={headerComponent()}
showsVerticalScrollIndicator={false}
/>
解决方案
您可以从尺寸中获取屏幕的宽度。
const width = Dimensions.get('screen').width
这将是应用程序运行的宽度大小。
推荐阅读
- node.js - 找不到 dist 文件
- google-app-engine - Google App Engine 标准 - 作曲家更新 --lock | 允许的内存大小用尽 | 错误 255
- c++ - 使用派生类 y 基模板的结构
- assembly - x86汇编代码整数常量中的“f”后缀是什么意思
- r - 用R中的度数和系数计算多项式
- mysql - MySQL - 查找表中的最低唯一值
- python - 移动 python tkinter 上的比例尺时,变量不会更新
- unity3d - Unity 2019.1 和 Vuforia:OPENGL 本地插件错误
- java - 对象和方法之间的对象传递
- c# - 在 ToolTip WPF 上使用情节提要