памагити 😅
Через консоль лог проверяй что ты получаешь
использовать реакт роутер
нужно хоть одним глазком заглянуть на официальный сайт Реакта в документацию и посмотреть, что такое вообще этот Реакт
когда я открываю страницу Product, то this.props.location пустое (undefined) видимо мне както надо перекинуть пропсы с Card в Product но как это лучше сделать? В рутере у меня есть запись <Route path="product/:product" element={<Product />} />
есть в роутере useLocation-хук, есть просто window.location в самом яваскрипте
А если я пробую вот так передать данные, почему они тоже не доступны в компоненте? this.props.location остается пустым (
я уже не очень помню классовие компонент, но кажется, чтоби пропси получать нужно нужно конструктор обьявить и super в нем прописать, мб ошибаюсь
в карточке все норм доступно и их я правильно вывожу со всеми нужными пропсами но теперь мне нужно както при клике на карточку открывать выбранный продукт как это правильно сделать? через Link я так понимаю параметры без хуков не передать? (у меня классовые компоненты)
передать, просто через : указывай айди
где его правильно указать? я вот так пытаюсь перекинуть, не работает <Link to={{ pathname: /product/${this.props.product.id} }} state={{ from: this.props.product.id }} > Путь формируется правильно, а стейт без хуков не доступен
ну урла правильная в браузере?
да, правильная
ну теперь показывай как ты в компоненте продукта читаешь id
нет, в компонент дид маунт читай локейшн
ты запрос за данными по айди как будешь делать?
да, планирую так
ну а запрос в каком месте компонента ты будешь делать?)
я не могу прочитать локейшн
покажи как ты читаешь
в дидмаунте буду, как обычно
много способов уже пробовала, пока ни один не сработал withRouter - не находит, видимо в 6 роутере убрали уже его хук useLocation() не могу использовать, так как у меня классовые компоненты сижу туплю
ты можешь код показать?
как ты в компонент дидмаунт читаешь
я бы показала, если бы там чтото толковое было, выше скрины кидала, но потом поняла, что так не работает console.log('check: ', this.props.state);
А зачем ты вообще локацию через пропсы передаешь, просто используй хук useLocation
У меня классовые компоненты, хуки нельзя использовать
ну да, не заметил, а разве в реакт роутере нет решения для классов? Да и зачем вообще классы в 2022 использовать
Ну вот эти решения и использую. У меня вопрос как переменную внедрить. Я бы вычисляла ее выше, дотретюрна, но у меня два вложенных мапа…
Обсуждают сегодня