- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我坦率地承认 Javascript 不是我最擅长的语言,而且 React Native 非常新,因此,可能有一种我没有看到的明显简单的方法来做到这一点。
我有一个 API,可以以简单的结构呈现一些交易数据:
[
{
"id": 1,
"title": "Apple Store",
"date": "2021-09-10",
"amount": "$100.00",
},
{
"id": 41,
"title": "Zulauf, Walter and Metz",
"date": "2021-09-10",
"amount": "$14.00",
},
{
"id": 9,
"title": "Aufderhar PLC",
"date": "2021-09-09",
"amount": "$78.00",
},
{
"id": 10,
"title": "Bayer and Sons",
"date": "2021-09-07",
"amount": "$67.00",
}
]
我想使用SectionList 组件来呈现此数据,并按日期划分交易。我(可能很粗略)解决这个问题的尝试是将这些数据转换为以下结构:
[
{
"date": "2021-09-10",
"transactions": [
{
"id": 1,
"title": "Apple Store",
"date": "2021-09-10",
"amount": "$100.00",
},
{
"id": 41,
"title": "Zulauf, Walter and Metz",
"date": "2021-09-10",
"amount": "$14.00",
}
]
},
{
"date": "2021-09-09",
"transactions": [
{
"id": 9,
"title": "Aufderhar PLC",
"date": "2021-09-09",
"amount": "$78.00",
}
]
},
{
"date": "2021-09-07",
"transactions": [
{
"id": 10,
"title": "Bayer and Sons",
"date": "2021-09-07",
"amount": "$67.00",
}
]
}
]
但老实说,我不知道如何转换这些数据(或者是否有更好的方法来解决这个问题)。我首先使用 Lodash 的 groupBy 函数,这看起来很有前途,但看起来 SectionList 不需要一个对象,它需要一个数组。
将 groupBy 的输出直接转换为数组会丢弃键,并且我得到了分组数据,但节标题没有明确的值。
同样,可能有一些非常简单的方法来解决这个问题,数据始终以平面数组的形式出现。我感谢任何人可以向我指出的任何指导、帮助或示例。
最佳答案
const input = [
{
"id": 1,
"title": "Apple Store",
"date": "2021-09-10",
"amount": "$100.00",
},
{
"id": 41,
"title": "Zulauf, Walter and Metz",
"date": "2021-09-10",
"amount": "$14.00",
},
{
"id": 9,
"title": "Aufderhar PLC",
"date": "2021-09-09",
"amount": "$78.00",
},
{
"id": 10,
"title": "Bayer and Sons",
"date": "2021-09-07",
"amount": "$67.00",
}
]
const result = input.reduce((accum, current)=> {
let dateGroup = accum.find(x => x.date === current.date);
if(!dateGroup) {
dateGroup = { date: current.date, transactions: [] }
accum.push(dateGroup);
}
dateGroup.transactions.push(current);
return accum;
}, []);
console.log(result)
给定一个数组,只要您的结果期望具有相同数量的元素,请使用 map
,但由于您的结果具有不同数量的元素,请使用 reduce
,如图所示多于。这个想法是通过使用reduce
,循环每个元素,看看是否可以找到该元素,并将当前元素插入列表
关于javascript - 将数据数组转换为SectionList组件的分组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69328054/
所以我有一个包含数据的数组 var today = "2020-08-31" var array = [ { name: "Joshua", id: 1, date: "2020-08-3
我有下面的json结构 { "title": "Name(s)", "type": "Text", "data": [ { "source": "DB",
我是 react-native 的新手,尝试过使用 SectionList。到目前为止一切正常。但是,我似乎无法使用 facebook 文档中定义的 scrollToLocation 函数。有人试过使
您好,我有一个 sectionList,它传递了一组颜色 + 随机选择的背景 img,以呈现为每个行项目的背景。当我滑动访问该 View 时,颜色会闪烁几秒钟,因为随机选择仍在发生。每次我返回带有列表
我的 API 服务有以下数组结构 [ { id: 1001, orderNo: 'abc', customer: 'John', date: 15245262186
我有带部分的列表,但是这个 ListView 很慢。 我需要任何支架,但我不知道怎么做。 当我只有一种 View 时很简单,但在这里我遇到了问题。 我创建了 holder,但是当 ListView 显
我在使用 SectionList 组件时遇到问题,有时它不会呈现所有部分,而是只呈现第一部分。我已经进行了一些调试并且可能找到了修复方法,但我不知道为什么它可以解决问题。 我的页面总是会呈现第一部分,
我正在尝试显示一个包含多个列的部分列表。由于部分列表没有开箱即用的功能,我认为为每个部分项目呈现一个平面列表可能是个好主意。但我没有让它工作。 import React, { Component }
如果有这个简单的SectionList我的代码中的定义: const s = ( abc} renderSectionHeader={({ section }) => abc}
这个问题在这里已经有了答案: Basic FlatList code throws Warning - React Native (13 个回答) 4年前关闭。 我正在关注 SectionLists
我们可以添加像这个库一样的选项卡https://github.com/bogoslavskiy/react-native-tabs-section-list在部分列表中。我尝试了上面的库,它已经过时并
我对 React 和 React Native 还很陌生,但是在填充 SectionList 时遇到了问题,而且还找不到解决方案。 我有一个对象数组,每个对象都有它自己的数组。 SectionList
我正在使用 react-native 的 SectionList 并且无法隐藏数据集空白部分的部分标题。我只想显示部分标题和非空部分的行。 最佳答案 这就是我所做的: ( section
跟随 RN SectionList文档。如果我想像示例中那样构建同质部分列表: } renderSectionHeader={({section}) => } sections={[ //
我刚刚将我的 ListView 更改为 React Native 的新 SectionList,现在当我尝试使用 scrollTo 函数时应用程序崩溃,并指出它未定义。我尝试查找可能有帮助的新功能/替
我正在使用不同的节标题来呈现多个节。我在按我想要的方式显示它时遇到了一些麻烦。我希望我的标题位于顶部和下方,该部分的元素作为网格。 This is what I have right now 使用这段
使用 SectionList 时,虽然调用了 renderItem,但不会显示行。在列表上触发滚动时,行会立即出现。 我在 GitHub 上发现了一个问题讨论这个问题,但我没有找到任何解决方案来解决它
你知道如何在 sectionList 组件 React-native 中制作水平部分(特定)吗?我想让第二部分水平,我尝试使用 flex:1 和 flexDirection: 'row' 修改 ren
我有一个呈现多行的 SectionList。我正在尝试点击 renderItem 中的 View 。但我无法通过其 ID 访问该 View 。 I have used this to tap the
对于我正在处理的项目,我需要创建一个组件,用户可以在其中向处于状态的数组添加条目,还有一个 SectionList以显示这些条目。此外,我需要 SectionList 在输入后立即向下滚动到最新条目。
我是一名优秀的程序员,十分优秀!