#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:
оказывается, идентификатор был строкой, поэтому мне пришлось преобразовать его в целое число, и теперь он работает