我正在使用 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}
现在我显然想遵循最佳实践并尽可能高效..所以有人可以指出我正确的方向