0

我正在使用 useContext 和 setState 挂钩在我的网站上共享一系列音轨。我有一些播放列表组件可以将曲目添加/删除到全局播放列表以及音频元素的包装器,例如可以在当前播放完成时检索下一个曲目。

播放列表都使用相同的组件。每个 Track 基本上只是一个包含 id、title、url.. 等的<tr>with 。<td>我使用 json 生成这些。

现在我的问题是我应该在我的钩子中传递什么?因为我看到至少 3 个选项...我可以通过

  • 传递 track_id 似乎最有效,但是.. 但是每当我需要曲目数据时.. 例如,要获取 url 或渲染,我需要找到可以嵌套在我的 json 后端中任何位置的对象。

  • 传递 dom-node 似乎是错误的......但如果我想在其他地方呈现列表,它会很容易使用。

  • 如果你传递track json对象..我随时都有我需要的所有数据..但我需要将它附加到所有track dom节点..这似乎也不对..

选项1。track.json 对象

     {"title":"...","artist":"...","year":"..."}

选项 #2。<tr>域节点

     <tr><td>title</td><td>arist</td><td>year</td></tr>

     key={track_id}

现在我显然想遵循最佳实践并尽可能高效..所以有人可以指出我正确的方向

4

1 回答 1

0

我想所有人都会做同样的事情。如果您传递一个 id 或 json,那么它仍然需要在 dom 节点中呈现才能查看,所以当您说传递一个 dom 节点时,您实际上只是传递了一个字符串。我是否正确地说,无论通过什么,它都需要通过某种功能才能从后端获取歌曲?如果是这样,那么我的建议是 json。

于 2019-04-09T23:26:53.193 回答