Сервис быстрых ответов от искусственного интеллекта
Вопрос пользователя:
import {
Routes,
Route,
} from 'react-router-dom';
import {Home} from '../pages/Home';
import {HotelList} from '../pages/HotelList';
import {Hotel} from '../pages/Hotel';
export const App = () => {
return (
<>
<Routes>
<Route path='/' element={<Home />} />
<Route path='/hotel-list' element={<HotelList />} />
<Route path='/hotel/:hotelIndex' element={<Hotel />} />
</Routes>
</>
)
};
import {useParams, redirect} from 'react-router-dom';
import {Layout} from '../../components/Layout';
import {HOTELS} from '../../constants';
export const Hotel = () => {
const {hotelIndex} = useParams<{hotelIndex: string}>();
if (!hotelIndex) {
redirect('hotel-list');
return null;
}
const hotel = HOTELS[Number(hotelIndex)];
return <Layout>
<h1>{hotel.title}</h1>
<figure>
<img width={200} src={hotel.img} alt="Elephant at sunset" />
<figcaption>{hotel.description}</figcaption>
</figure>
</Layout>
};
import React from 'react';
import {Layout} from '../../components/Layout';
import {HOTELS} from '../../constants';
export const HotelList = () => {
return (
<Layout>
<h1>Отели:</h1>
<div className="list">
{
HOTELS.map(({img, title}, index) => <div>
<figure>
<img width={200} src={img} alt="Elephant at sunset" />
<figcaption>{title}</figcaption>
</figure>
</div>)
}
</div>
</Layout>
)
};
В прошлом тренажёре мы создали новую страницу, но не сделали на неё ни одной ссылки.
Добавьте ссылки в компоненте src/pages/HotelList/index.tsx так, чтобы ссылка строилась по паттерну /hotel/${index} и вела на новую страницу.
Чтобы создать ссылку, используйте компонент Link из библиотеки react-router-dom.
Ответ нейросети:
Пройдите быструю авторизацию для просмотра:
import React from 'react';
import { Link } from 'react-router-dom';
import { Layout } from '../../components/Layout';
import { HOTELS } from '../../constants';
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.