问题标签 [react-native-sectionlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1531 浏览

react-native - 如何使用 SeionList 展开和折叠指定部分?

我调用 api https://obscure-reaches-65656.herokuapp.com/api/getCloseTime?city=Miaoli&sTime=21&eTime=24来执行我的react-redux操作并用于SectionList显示数据。

使用官方教程,我使用SectionList它只会显示所有部分,我尝试在单击标题时找到可以展开或折叠部分的方式。

我找到我的sectionComprenderSectionItem使用相同的标题,所以我尝试使用this.state{ title: '', expand: false }

当我单击國興戲院使用this.setState({ title: '國興戲院', expand: true })并使用if(this.state.expand) {}renderSectionItem

显然它不起作用,因为我可能有很多部分。

我不知道下一步应该尝试什么。

任何帮助,将不胜感激。提前致谢。

这是我的 SectionList 数据: 在此处输入图像描述

这是我的类组件:

这是我的行动fetchSearchTime

关于SEARCH_TIME减速机:

0 投票
1 回答
458 浏览

react-native - React Native:列表的条件道具

我想知道是否有一种方法可以根据条件为列表组件设置一组属性。

我想要ListFooterComponentonEndReachedThreshold并且onEndReached只有在设置时才this.props.fetchMoreData设置。我是否需要在渲染函数的顶部放置一个 if 语句,或者是否可以创建一个单独的道具来对这 3 个进行分组并使用扩展运算符根据条件将其放回 SectionList 中。我不太确定该怎么做。

0 投票
1 回答
2227 浏览

javascript - 在 React Native Section List 中过滤数据

我正在使用 React Native 的 SectionList。SectionList 的数据看起来像这样

我有一个文本输入,我尝试使用它过滤掉 SectionList 中的内容。我尝试使用Array.filter()它似乎不起作用。它不经过任何过滤就返回给我整个数据。所以,我试过了Array.some()。现在,即使有一项匹配,该部分中的所有数据项也会被过滤。这种行为是预期的Array.some()。但我很困惑为什么Array.filter()在我的情况下不起作用。

我的 SectionList 看起来像这样,

如果您想在线玩的话,这里是Expo Playground的链接。

0 投票
1 回答
192 浏览

react-native - 大型组件作为 VirtualizedList/etc 中的部分?

如果我想在虚拟化列表中显示一堆异构数据,默认的做法似乎是让父组件收集所有数据,以便它可以创建提供给列表组件的部分。

有没有办法避免要求父组件这样做?我想将父组件与数据收集部分分离,这样它所要做的就是声明它具有这样那样的组件,然后这些组件将负责收集数据。

如果它是 ScrollView,这将非常简单:

但是,为了利用 VirtualizedList 的性能增益,如果每个部分都很大,我需要将每个部分的单独数据传递到 VirtualizedList。我不确定如何执行此操作或是否可能。

0 投票
1 回答
2988 浏览

typescript - 部分列表和打字稿

键入 SectionList 的正确方法是什么?我遇到了一个可行的错误(来自文档示例):

但这不会:

我收到此错误:

属性“renderSectionHeader”的类型不兼容。类型 '({ section: { title } }: { section: { title: any; }; }) => Element' 不可分配给类型 '(info: { section: SectionListData; }) => ReactElement'。参数 '__0' 和 'info' 的类型不兼容。类型'{部分:SectionListData; }' 不可分配给类型 '{ section: { title: any; }; }'。属性“部分”的类型不兼容。类型 'SectionListData' 不可分配给类型 '{ title: any; }'。“SectionListData”类型中缺少属性“标题”。

0 投票
1 回答
589 浏览

reactjs - React Native SectionList 替换数据键

我对 React 和 React native 还很陌生,但是我在填充 a 时遇到了一个问题,SectionList并且还没有找到解决方案。

我有一个对象数组,每个对象都有自己的数组。SectionList 是显示此信息的理想选择,但是,每个部分的数组不称为“数据”,而SectionList似乎期望每个部分中的数组的关键“数据”。

有没有办法告诉SectionList使用另一个键而不是数据键来填充每个部分的数组?

0 投票
1 回答
962 浏览

image - 对 `require` 的调用只需要 1 个字符串字面量参数,但找到了:

我在应用程序中有一个带有 SectionList 的组件,它从本地 json 文件中解析其内容。列表项具有图像和文本,当需要使用 varibale 的图像时,它会导致错误:calls to require expect exactly 1 string literal argument, but this was found: item.logo

我的 json 文件

renderItem功能

已编辑

js中的函数require不能动态工作。它的参数必须是字符串。

0 投票
0 回答
433 浏览

react-native - React Native 动画在 iPhone X 上滞后

部分列表似乎变得滞后一些模型进入导航堆栈。

所以主页(部分列表很好)。打开第 2 页(部分列表开始有点滞后)。打开第 3 页(部分列表非常滞后)。

这些页面之间的转换是相同的。Main -> 2 很好,2 - 3 很慢

方向变化是一样的。

我不确定为什么这似乎只发生在 iPhone X 上,但这是一个已知问题吗?有没有解决的办法?

这是一个非常滞后的零食项目第3页

https://snack.expo.io/H14g80fXm

0 投票
2 回答
1152 浏览

react-native - 在滚动触发之前,某些项目不会显示在 SectionList 中

使用时SectionList,虽然调用了 renderItem,但不会显示行。当在列表上触发滚动时,行会立即出现。

我在GitHub 上找到了一个 issue来讨论这个问题,但我没有找到任何解决方案来解决它。并且该问题已关闭并标记为已解决的问题。

在上述问题中找到的解决方案是removeClippedSubviews通过SectionList将值设置为禁用false。我看到这不是解决方案,只是一个技巧。随着列表的巨大,禁用removeClippedSubviews将是一个糟糕的解决方案,因为它不会优化列表视图的性能。

我一直在寻找很多小时,但没有任何解决方案来解决它。有什么建议可以解决这个问题吗?

我有使用:

0 投票
1 回答
745 浏览

react-native - 使用 react native sectionList 获取数据

我正在使用 firestore,并且正在尝试将数据提取到我的 SectionList 组件中。我希望这些部分按我的 Firestore 数据中的日期进行分解。例如,如果用户预订了 9 月 12 日的日期,则部分标题应显示给定日期的上一个星期日(在本例中为 9 月 9 日)。我的问题是我不断收到错误“sectionlist length undefined”。我知道它需要是一个数组。如何将来自 firestore 的数组中的信息放入“数据”和“标题”道具部分。

我已经从集合中提取数据并将其放入 this.state 中。我需要将日期中的信息插入我的 sectionlist 组件的各个部分。

}

我能够获得要填充的列表,但每个项目都在自己的视图中。我正在努力使同一周内的所有日期都属于该周视图组的星期日。这是我的函数,我知道我需要操纵数组的推送方式。