我正在构建一个音乐播放器应用程序,我正在使用REST API从各个 endpoints (播放列表,某个用户发布的曲目等)中获取曲目 .

我'm using redux and normalizr to manage my state. I'已经创建了一个 tracks 实体,我用它来映射 track 对象及其ID .

总之,我的州看起来有点像这样:

{
  playlists: {
    123: { id: 123, name: 'foo', tracks: [1, 2, 3] }
  },
  users: {
    me: { name: 'Niek', tracks: [2, 3] },
  },
  entities: {
    tracks: {
      1: { name: 'bar', user_favorited: false, ... },
      2: { name: 'foo', user_favorited: false, ... },
      3: { name: 'bar', user_favorited: true, ... }
    }
  }
}

到目前为止,这对我来说非常有用 . 但现在我正在构建通过调用另一个API endpoints 来切换轨道的 favorite 状态的功能 .

此 endpoints 不包括响应中的整个 track 资源,但我确实希望在API调用成功后更新单个 track 实体的 user_favorited 属性 .

实现这一目标的最佳方法是什么?

作为一种解决方法,我现在在 user_favorited endpoints 调用成功后再次从另一个 endpoints 获取整个 track 实体,但我希望找到一个优雅的解决方案,这是没有必要的 .