【发布时间】:2019-05-29 23:03:25
【问题描述】:
在 React 中更改多个嵌套对象数组的状态的最佳方法是什么?让我们看看下面的例子:我有一个组件,它将显示每个流派的顶级播放列表。我有一个属性 genre ,它是一个对象数组,每个对象都有一个属性 songs ,它也是一个对象数组。如果我想及时将名为 Soldier of Fortune 的歌曲更改为 Child(假设在 Change 函数中作为参数,我已经从 UI 更改中提供了 Song 和 Genre 的索引)。如何访问多个级别的嵌套对象而不改变状态?
this.state = {
title: 'Top playlists',
genres: [
{
genreName: 'pop',
followers: 2456,
songs: [
{
title: 'Soldier of fortune',
author: 'Deep Purple',
},
],
},
],
};
handleChangeSongName = (e, genreIndex, songIndex) => {
// genreIndex = 0;
// songIndex = 0;
// e.target.name = title;
// e.target.value = "Child in time"
...What to do here?
}
【问题讨论】:
-
这可能含糊不清,但是如何不使用 map (我假设你使用 map :D )使用 for 循环或 while 你可以将数组的索引存储为组件适当性?
-
我只是对更新状态感到好奇,而不是显示数据。假设我已经显示了所有内容,并且我有一个输入字段,其中包含数据列表,并且我得到了正确的歌曲索引和流派索引。我只需要弄清楚如何正确更改状态
标签: javascript reactjs react-native setstate