Есть массив постов разбитых функцией map
Есть массив песен разбитых функцией map. При клике на определенную песню переходит на страницу этой песни и должно выводить информацию о песне. Используется хук useParams чтобы переходить по id песни. Так вот, как в компоненте страницы песни выводит информацию о песне, как достать их из массива, id которого равен id страницы песни?
Компонент страницы:
import { useParams } from "react-router-dom";
const SongPage = (props) => {
const params = useParams();
const pageId = params.id;
const song = props.songs.find(function (item) {
return item.title === 'Empire';
});
return (
<div className="song-page">
{pageId}
{console.log(song)}
</div>
);
}
export { SongPage };
Сам массив:
const [songs, setSongs] = useState([
{
id: 1,
song: 'Empire',
band: 'Bring Me The Horizon',
album: 'Bring Me The Horizon',
duration: '5:15',
genre: 'metalcore',
img: 'bringMeTheHorizon.jpg'
},
{
id: 2,
song: 'Empire',
band: 'Bring Me The Horizon',
album: 'Bring Me The Horizon',
duration: '5:15',
genre: 'metalcore',
img: 'bringMeTheHorizon.jpg'
},
{
id: 3,
song: 'Empire',
band: 'Bring Me The Horizon',
album: 'Bring Me The Horizon',
duration: '5:15',
genre: 'metalcore',
img: 'bringMeTheHorizon.jpg'
},
{
id: 4,
song: 'Hospital For Souls',
band: 'Bring Me The Horizon',
album: 'Bring Me The Horizon',
duration: '5:15',
genre: 'metalcore',
img: 'bringMeTheHorizon.jpg'
},
{
id: 5,
song: 'Hospital For Souls',
band: 'Bring Me The Horizon',
album: 'Bring Me The Horizon',
duration: '5:15',
genre: 'metalcore',
img: 'bringMeTheHorizon.jpg'
},
{
id: 6,
song: 'Hospital For Souls',
band: 'Bring Me The Horizon',
album: 'Bring Me The Horizon',
duration: '5:15',
genre: 'metalcore',
img: 'bringMeTheHorizon.jpg'
},
]);
Какую функцию можно использовать для этого? Пробовал find но не смог реализовать, я новичок так что заранее извините за непонятки)
Источник: Stack Overflow на русском