(Реагировать) useParams получение идентификатора и отображение из списка

#reactjs #undefined

#reactjs #не определено

Вопрос:

используя useParams для получения значения со страницы, у меня есть идентификатор, но я пытаюсь отобразить массив магазина с этим конкретным идентификатором

 const shopContext = useContext(ShopContext);
const { shop } = shopContext;
const { id } = useParams();
{shop.map(sho => (
                    <ShopBanner
                        key={sho.id}
                        // id={id}
                        shop={shop.find(sh => sh.id === id)}
                    />
                ))}
  

из ShopBanner.js

 function ShopBanner({ shop }) {
    const { name, image, description, phone, address, short } = shop;
  

показывает мне ошибку «Ошибка типа: магазин не определен»

Комментарии:

1. Используете ли вы useParams() перехват в react-router? У React нет useParams() хука, упакованного по умолчанию.

2. оказывается, идентификатор был строкой, поэтому мне пришлось преобразовать его в целое число, и теперь он работает

Ответ №1:

В функции фильтра есть опечатка..

 shop={shop.find(sho => sho.id === id)

  

Комментарии:

1. это не помогает

2. Пожалуйста, console.log(идентификатор).. И опубликовать результат

3. Также, пожалуйста, разместите код, в котором вы объявили маршрут..

Ответ №2:

оказывается, идентификатор был строкой, поэтому мне пришлось преобразовать его в целое число, и теперь он работает