Я использую перехватчики useContext и setState для совместного использования массива аудиотреков на моем сайте.У меня есть несколько компонентов списка воспроизведения, которые могут добавлять / удалять дорожки в глобальный список воспроизведения, а также обертку для аудиоэлемента, которая может, например, извлекать следующую дорожку по окончании текущего.
Все списки воспроизведения используют один и тот же компонент.Каждый трек - это просто <tr>
с <td>
s, содержащим id, title, url и т. Д.Я генерирую их, используя json.
Теперь мой вопрос: что я должен передать в своих крючках?Потому что я вижу по крайней мере 3 варианта ... Я мог бы передать
, передавая track_id, кажется наиболее эффективным, но ... но всякий раз, когда мне нужны данные треков .. например, чтобы получить URL илиrender Мне нужно найти объект, который может быть где-нибудь вложенным в мой json-сервер.
прохождение dom-узла кажется неправильным ... но было бы очень легко использовать в случае, если я хочудля рендеринга списка в другом месте.
если вы передаете объект json дорожки .. У меня есть все данные, которые мне нужны в любой момент ... но мне как-то нужно прикрепить их ко всем дорожкамузлы dom ... и это опять-таки кажется не правильным ..
Вариант № 1.объект track.json
{"title":"...","artist":"...","year":"..."}
Вариант № 2.<tr>
dom-node
<tr><td>title</td><td>arist</td><td>year</td></tr>
key={track_id}
Теперь я, очевидно, хотел бы следовать наилучшей практике и быть максимально эффективным ... поэтому кто-нибудь может направить меня в правильном направлении