Существует несколько подходов для передачи этих данных:
Вы можете передавать данные через состояние ссылки следующим образом:
<Link
to={{
pathname: `/card/${course.title}`,
state: { description: course.description }
}}
>...</Link>
И затем читать их в компоненте CardInfo следующим образом:
import { useLocation } from "react-router-dom";
const CardInfo = () => {
const location = useLocation();
console.log(location.state) // { description: 'Lorem ipsum...' }
Однако лучший способ сделать это - передать идентификатор курса в URL и прочитать остальную информацию из курсов. js file:
Это уже правильно, Вы принимаете идентификатор курса в качестве параметра URL:
<Route path="/card/:id" component={CardInfo} />
Передавайте идентификатор курса по ссылке:
<Link to={`/card/${course.id}`}>
Считайте параметр id из URL и получите остальную информацию о курсе. из файла курсов:
import { useParams } from "react-router-dom";
import courses from './courses'
const CardInfo = () => {
const params = useParams();
console.log(courses[params.id]);