我试图显示项目列表,然后名称和按钮下载其各自的文件相同的列表可在不同的其他屏幕。当我点击下载
-
状态信息共享:它应该开始下载,下载的状态/进度应该对不同屏幕上可用的同一项可见。唯一标识符为项目id
-
可以并行下载
问题陈述:
- 如果在同一项中使用state,则无法共享同一项的信息
- 在使用redux时,它解决了问题1,然而并行下载信息在写入相同的减速机状态时被覆盖
任何想法或方法都是赞赏的。由于
我认为通过在你的对象列表中添加一个新的标志,比如"isDownloading",你的问题就解决了。
1-您有一个主要列表,如:
[
{
id:1,
name: 'song number one',
description: 'lablab lablab ...' ,
isDownloading:false, // this flag can help
url:'url to download this music',
.
.
.
},
{
id:2,
name: 'song number two',
description: 'lablab lablab ...' ,
isDownloading:true, // this flag can help
url:'url to download this music',
.
.
.
},
...
]
2-在每个屏幕中,你可以通过获取带有"isdownload: true"标志的数据来表示正在进行的项目。这样的:
const desiredList = majorListTakenFromRedux.filter((music) => {
return music.isDownloading === true;
});
每个>当客户端想要下载或停止下载一个项目时,您可以通过更新redux 中的对象来更新整个列表。你还可以有另一个标志来处理另一个状态,如&;pause&;等等,……所以最好使用"isDownloading"的数字。国旗。