问题标签 [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 回答
306 浏览

react-native - 使用滑动 sectionList 删除部分

我是 react-native 的新手,我想要一个带有滑动删除功能的部分列表。我找到了这个库: react-native-swipeout 与 FlatList 配合得很好,我设法只将滑动添加到部分标题,但我想将整个部分作为一个单元一起滑动。

添加当前情况的图像

在此处输入图像描述

灰色背景是节标题,白色是数据代码片段数组

0 投票
0 回答
677 浏览

react-native - 如何对 Flatlist/SectionList 中的项目重新排序

我有几个问题:

在反应原生

1) 我们是否对 Flatlist/SectionList 中的项目进行了默认重新排序,就像我们在 iOS“moveRowAt sourceIndexPath:”方法中对 UITableview 所做的那样。

2)如果上述问题的答案是“否”,您能否建议我如何在本机反应中实现重新排序。

我试过下面的包,但它并不顺利。 https://www.npmjs.com/package/react-native-draggable-flatlist

我遇到了这个https://github.com/deanmcpherson/react-native-sortable-listview但由于 listview 已被弃用,因此不能这样做。

0 投票
1 回答
3330 浏览

react-native - 如何使本机部分列表反应到折叠部分并跨部分拖放项目?

我是 REACT NATIVE 的新手,我正在尝试实现一个 sectionlist,它可以折叠每个部分,还需要跨部分拖放项目。我尝试过 REACT NATIVE SectionList 组件,但它缺少拖放和折叠功能。

您能否推荐任何相同的解决方案。还是我必须从头开始实施?帮助我的赞赏。很抱歉没有发布任何代码,只是因为我没有任何代码,我正在寻找您在实现上述功能时的想法。

0 投票
0 回答
443 浏览

react-native - 如何重置sectionList中的滚动和部分标题?

我正在使用 sectionList 为我的应用程序创建部分。我有两个使用相同部分列表的选项卡。我面临的问题是,当我单击第二个选项卡时,数据会刷新,但滚动位置等其他属性不会,因为 sectionList 是纯组件。这会导致第二部分的标题在滚动到某个点后消失,因为标题较少。我尝试但没有提供任何结果的事情是:

  1. 使用 extraData 表示需要重新渲染
  2. 克隆整个数据
0 投票
1 回答
1702 浏览

react-native - 当状态/道具改变时,反应原生动画部分列表跳到顶部

我正在一个带有部分列表组件的本机应用程序中构建一个视图,它上面还有一个标题,它将显示有关列表的聚合数据。滚动时,标题视图应该随着动画缩小。我的所有动画都可以正常工作,但是在使用onEndreached道具添加无限滚动时会出现问题。当添加新数据或状态/道具发生变化时,它会跳到列表的顶部。

为了使 SectionList 具有动画效果,我使用它来包装它Animated.createAnimatedComponent来创建一个<AnimatedSectionList />组件。当它被 Animated 包裹时,问题就出现了。

在下面链接的 gif 中,您可以看到当我向下滚动时它会跳到列表的顶部。这是状态发生变化并且我们开始获取更多数据的时候。 https://monosnap.com/file/2aH5iPF2XcygEz381bpHW9QGPGHA2Z

我尝试使用getItemLayout来计算列表大小,希望因为我读到当 react 不知道列表的高度时,它可能会很跳跃。

我也试过在加载新数据后滚动到一个部分,scrollTo但这也不起作用。我正在使用componentDidUpdate生命周期方法执行此操作,但是componentDidUpdate当新数据进来时并没有被一致地调用。

这是我的代码。

我希望当状态或道具发生变化时,列表将保持在当前滚动位置,而是跳到顶部,违背了无限滚动的目的。

对于解决此问题的最佳方法的任何想法,我们将不胜感激。

0 投票
2 回答
2437 浏览

react-native - React-Native SectionList 滚动到Android上的项目

对于我正在处理的项目,我需要创建一个组件,用户可以在其中将条目添加到处于状态的数组中,并SectionList显示这些条目。此外,我需要 SectionList 在输入后立即向下滚动到最新条目。请查看此小吃的示例

添加新条目后,列表本身会显示所有条目和更新,但是一旦列表包含的内容超出屏幕可以显示的范围,它只能向下滚动到倒数第二个,我真的需要滚动到最后一个。

我尝试了很多东西,包括等待 setState,定义 contentContainerStyle,将整个东西转换为VirtualizedListand ScrollView,我能想到的一切,但我根本无法让它滚动到最后一个条目。

问题:如何让我的 SectionList 滚动到当前超出 SectionList 组件范围的最后一项?

更新 我知道这个问题是由SectionList调用 scrollToLocation 时不包含该项目引起的。解决方案的关键似乎是等待列表的重新渲染

更新 2 SetState 有一个回调也不能解决这个问题。但是,评论中的解决方案有效。它的问题是它只适用于 .js 文件,而我正在整个项目中使用 .tsx 文件。我怎么能克服这个?

0 投票
1 回答
1207 浏览

react-native - Expo React Native SectionList 多次渲染项目

我发现了很多关于同一个问题的问题,但似乎都没有解决问题。目前我正在使用 redux 来获取对象数组,操作该数据以匹配 SectionList 数据请求,并将其提供给 SectionList 部分道具。在 RenderItem 中,我使用 FlatList 并提供项目道具 section.data。最后,FLatList 中的 renderItem 是一个 PureComponent。我尝试过使用 shouldComponentUpdate,以及其他人建议的 sectionlist 的许多其他道具,但似乎没有任何效果。SectionList 一致地呈现项目 3 次或更多次。这是我的代码:

多次渲染的行

0 投票
1 回答
529 浏览

react-native - SectionList 意外地重新渲染所有内容

我是 React-Native 的新手,目前正在做一个显示照片及其相关信息的项目。该项目使用标准SectionList(RN 0.55)。

我遇到的问题是每次添加照片时,列表中的所有子组件都会重新渲染。当列表增加到 50 个左右时,我注意到显着放缓。

我有以下设置:

  1. 我有一个 redux 存储,其中包含Data(基本上是照片信息的包装器),每次用户执行某些操作时,Data都会复制、修改,然后重新分配回 redux 存储。

  2. 然后我有一个像下面这样的类来渲染 SectionList

我的主要困惑点是,SectionListsection我的情况下,数据(作为一个整体)已经是一个新副本并且被修改(因为添加了一张新照片),所以它会导致SectionList重新渲染所有内容?

我只想SectionList额外渲染我刚刚添加的照片,有什么建议吗?

0 投票
3 回答
504 浏览

react-native - 将对象添加到数组并刷新 sectionList

我添加了一个新的联系对象并尝试在 SectionList 中显示它。但是当我试图将一个对象放入数组时,我收到一个错误:TypeError: undefined is not an object (evalating 'n.data.length')

我使用此链接中的说明来解决问题。 如何在反应状态下将新对象作为值添加到数组中

0 投票
1 回答
662 浏览

react-native - 获取sectionlist头组件的Y值

我正在为 sectionlist 创建一个间谍滚动,我想获取 section list header 的 Y 值,

我尝试使用 onLayout 方法,但我只得到 0 的 y 值。我假设我的组件位于 react-native 容器内,因此我的视图获得了该容器的相对值 0..

这是我的代码: