我正在创建一个移动应用程序,我想在其中列出我的联系人及其电话号码。 我正在使用 expo 联系人和 flatlist 组件,我想在其中显示联系人姓名和电话号码。 所以,公关...
我正在尝试在我的应用程序中创建一个可滚动网格,但我无法滚动它。尝试了一切,但没有任何效果。 返回 ( 我正在尝试在我的应用程序中创建一个可滚动网格,但我无法滚动它。尝试了一切,但没有任何效果。 return ( <FlatList data={data} renderItem={({item}) => ( <GridImage style={styles.imageThumbnail} imageUri={item} numColumns={3} /> )} /> ); }; 将平面列表包装在视图中并为其指定高度和宽度。 return ( <View style={{ height:600,width:600 }}> <FlatList data={this.state.data} renderItem={({item}) => <Country name={item} />} /> </View> ); 如果父组件已经正确设置了flex样式,则无需设置高度和宽度样式。这就是我们首先使用 Flexbox 的原因。 用 <Pressable> 包裹渲染项目。然后<FlatList>滚动将按预期工作。 在 <TouchableOppacity> 文档页面中有对此的提示。它说它是“使视图正确响应触摸的包装器”。这可能意味着奇怪的是 Views 不能很好地处理触摸。 然后您可以在 Views 内部使用 Pressable。
在React Native的FlatList中,创建一个水平方向的列表,在Container中,除了FlatList之外,还创建一个宽度为50以下的View。 那么,如果ListItem的宽度...
我正在通过向平面列表添加一些动画来构建一个应用程序。但是当我导航到详细信息屏幕时,我遇到了一个问题,上一页转到了开始项目。我希望它留在用户所在的项目...
在React Native的FlatList中,创建一个水平方向的列表,在Container中,除了FlatList之外,还创建一个宽度为50以下的View。 那么,如果ListItem的宽度...
React Native Modalize - 无法在 Modalize 内滚动 FlatList
我正在将react-native-modalize与flatListProps一起使用,但我无法滚动flatList,我尝试了panGestureEnabled = {false},或删除了高度样式,但没有一个修复它,这是我的代码: 我将 react-native-modalize 与 flatListProps 一起使用,但我无法滚动 flatList,我尝试过 panGestureEnabled={false},或删除 height 样式,但没有一个修复它,这是我的代码: <Modalize ref={ref} children={children} adjustToContentHeight={true} onOverlayPress={closeModal} onClosed={onCloseCallback} HeaderComponent={renderHeader} flatListProps={ listData?.length > 0 ? { data: listData, renderItem: renderListItem, ItemSeparatorComponent: renderSeparator, keyExtractor: listKeyExtractor, contentContainerStyle: dStyles.dataList, } : undefined } modalStyle={styles.borderRadius} /> const dStyles = StyleSheet.create({ dataList: { height: 400, }, }); 我检查 listData,数组有 63 个项目,但 flatList 仅渲染前 9 个项目。 通过添加 flatListProps 这些道具来修复: initialNumToRender: 10 maxToRenderPerBatch:10 并添加到 <Modalize 道具 disableScrollIfPossible={false} 我不知道为什么,但height也需要删除。这是新代码: <Modalize ref={ref} children={children} adjustToContentHeight={true} disableScrollIfPossible={false} onOverlayPress={closeModal} onClosed={onCloseCallback} HeaderComponent={renderHeader} flatListProps={ listData?.length > 0 ? { data: listData, renderItem: renderListItem, ItemSeparatorComponent: renderSeparator, keyExtractor: listKeyExtractor, initialNumToRender: 10, maxToRenderPerBatch: 10, } : undefined } modalStyle={styles.borderRadius} /> 正如我提到的,我无法限制 FlatList 的高度,因此如果列表足够长,<Modalize 将展开全屏,这就是此解决方案的限制。 造成这个问题的原因是 调整内容高度={true} 你可以通过这样做来控制它 adjustToContentHeight={listData?.length > 3 ? false : true} “adjustToContentHeight”属性用于控制组件是否根据其内容动态调整其高度。当设置为 false 时,组件的高度保持固定,不会根据其容纳的内容而改变 示例 adjustToContentHeight={false}> ....
如何在react-native中使用ActivityIndicator和FlatList?
我有一个 FlatList 组件,它具有使用 RefreshControl 来处理刷新的刷新控制属性。我如何在这里使用 ActivityIndicator 而不是 RefreshControl。 返回 ( 我有一个 FlatList 组件,它有 refreshControl 属性,使用 RefreshControl 来处理刷新。我如何在这里使用 ActivityIndicator 代替 RefreshControl。 return ( <View style={styles.container}> <FlatList data={data} renderItem={({ item }) => { return renderData(item); }} refreshControl={ <RefreshControl colors={["#9Bd35A", "#689F38"]} refreshing={loading} onRefresh={loadData()} /> } keyExtractor={(item) => `${item.id}`} /> <FAB style={styles.fab} small={false} icon="plus" onPress={() => navigation.navigate("Create")} /> </View> ) <Flatlist data={data} renderItem={({ item }) => {return renderData(item)}} ListEmptyComponent={()=>{ if(loading){ return <ActivityIndicator animating size="large" color="red" /> } return <Text>data is empty</Text> }} refreshControl={<RefreshControl colors={["#9Bd35A", "#689F38"]} refreshing={loading} progressViewOffset={loading?-200:0} onRefresh={()=>{ setData(null); loadData()}} />} />
我的聊天应用程序中有一个倒置的垂直 FlatList,它在底部显示最新消息,在顶部显示最旧的消息(与所有其他聊天应用程序一样) 问题是当我想要...
我有一个查询返回的术语列表。每个都是一个单词。目前我的 FlatList 将每个单词渲染到同一行的按钮中(horizontal={true}) 我想要把按钮包起来...
如何启用嵌套在模态框下的 FlatList TouchableWithoutFeedback 的滚动?
这是我的设置: 这是我的设置: <Modal statusBarTranslucent visible={isOpen} onDismiss={onRequestClose} onRequestClose={onRequestClose} animationType={animationPreset}> <TouchableWithoutFeedback onLayout={onLayout} onPressOut={onRequestClose}> <View style={modalContainerStyle}> <TouchableWithoutFeedback> <View style={style.modalChildStyle}> {children} </View> </TouchableWithoutFeedback> </View> </TouchableWithoutFeedback> </Modal> 这是 FlatList 子项: <View> <FlatList data={dataItems} scrollEnabled keyExtractor={(item) => item.id} renderItem={({item}) => (<SomeComponent someComponentData={item} />)} /> </View FlatList 不滚动! 我尝试将onStartShouldSetResponder={() => true}添加到Views内的Modal以及包裹FlatList的那个,但没有任何效果。我也尝试添加style={{flex: 1}},但这也不起作用。 这是我解决问题的方法:通过使用具有 renderItem 的 View 将组件包装在 onStartShouldSetResponder={() => true} 中。例如: <FlatList data={dataItems} scrollEnabled keyExtractor={(item, index) => item.id} renderItem={({item}) => ( <View onStartShouldSetResponder={() => true}> <SomeComponent someComponentData={item} key={uuid()} /> </View> )} />
优化 React Native 应用程序以消除不必要的重新渲染
我目前正在开发 React Native 应用程序,并且遇到了与不必要的重新渲染相关的性能问题,特别是在更改父组件中的状态时。我已经采取了...
我正在尝试实现一个具有多重选择的平面列表,但是当我按下一个项目时,它会更改所有项目的背景,我该如何解决这个问题? 状态={ auth用户:[], selMembe...
如何在FlatList中选择多个项目,突出显示它们并将它们保存在React Native中
我想从 FlatList 中选择多个项目。每当我单击它们时,它们都应该突出显示并且应该保存在某个状态变量中 我正在使用“react-native-android-installed-app...
有没有办法限制 FlatList 的大小,使得无论列表中的项目数量有多少,具有绿色背景的底部 View 始终可见? 这是代码: 常量
我正在尝试实现一个类似于Tik-Tok评论功能的功能,按下按钮打开一个包含scrollview/flatlist的模态框,我们可以拖动模态框使其自行关闭。 我的目标: 我做了...
如何在构造函数中访问This.props.route.params
我的第一页将包含一些数据的数组推送到下一页,我想在 RenderItem 中使用该数据作为平面列表。我尝试了绑定事件,但它对我也不起作用,任何帮助都会得到帮助。 经验...
在 React Native 中使用 KeyboardAvoidingView 和多个平面列表时视图会缩小
我最近遇到了一个问题,需要一些帮助。 我有一个带有 KeyboardAvoidingView 的简单屏幕,里面有文本输入 + 2 个平面列表 我最初的想法是让 Flatlists 占据 45% 的份额...
我有一个带有两个屏幕的 TabNavigator,每个屏幕代表一个堆栈导航器。在第一个屏幕上,所有食谱都显示在 FlatList 中,我从 Redux 存储中获取数据。第二个屏幕
React Native Flatlist:如果某个项目的回调结果发生更改,是否可以避免 Flatlist 项目重新渲染?
memo、useMemo 和 useCallback 对解决重新渲染没有帮助。 现在我很困惑这是否可能。 当我选择时,我正在努力防止平面列表重新渲染所有项目...
我正在尝试在平面列表中打印 EquipmentID 由于某种原因,它没有向我显示其信息。 我想了解我的代码有什么问题。 数据(道具)来自另一个