Реагировать-маршрутизатор-дом с материалом-интерфейсом

Я использую material-ui и react-router-dom в своем реагирующем (машинописном) приложении.

Я попытался использовать следующий совет/помощь, чтобы, когда пользователь нажимал кнопку (или что-то еще), он перенаправлялся на этот маршрут. Очень простые вещи. Когда я нажимаю на кнопку, URL-адрес обновляется в окне URL-адреса в моем браузере, но правильный компонент не загружается. У меня это работало с использованием бутстрапа (и навигационной ссылки «реагирующего маршрутизатора-бутстрапа»), но теперь я застрял. Любые советы, как заставить это работать

(Я также использую Mobx в качестве обработчика состояния), я также доволен любым другим маршрутизатором, если это делает мою жизнь проще.

https://material-ui.com/demos/buttons/ и Как заставить реагирующую кнопку Material UI действовать как ссылку react-router-dom?

Обратите внимание, что если я нажму Enter в окне URL-адреса, я правильно перенаправлюсь (к правому компоненту)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
1 285
1

Ответы 1

Я использую этот метод для получения правильной ссылки на react-router-dom для компонента Button из material-ui.

Определите LinkComponent

import * as React from 'react';
import { Link } from 'react-router-dom';

export const LinkComponent = (props: any) => {
  return <Link {...props} />;
};

Затем вы можете использовать его следующим образом:

<Button
  variant = {'outlined'}
  color = {'primary'}
  component = {LinkComponent}
  to = {'/'}>
  HomePage
</Button>

Если вы не хотите создавать специальный компонент для этой цели, вы можете использовать его как лямбда-функцию в качестве реквизита компонента для <Button>.

Привет, Аммар! Спасибо за ответ. Я получаю 2 ошибки здесь, может быть, я неправильно вас понимаю. Я создал LinkComponent, но получаю сообщение об ошибке «(TS) не смог найти имя href», поэтому я удалил часть «href ||». В части <Button я получаю, что не существует (также ошибка TS)

Cowborg 26.02.2019 10:54

... но я не могу найти здесь атрибут to материал-ui.com/api/кнопка

Cowborg 26.02.2019 10:55

... и даже если я жестко запрограммирую <Link to='/hardcodedurl', все будет по-прежнему. URL-адрес, который я обновил, но мои компоненты не загружены...

Cowborg 26.02.2019 11:03

@Cowborg Извините за ошибку href not found, я обновил ответ, попробуйте сейчас.

Ammar Alakkad 26.02.2019 13:11

тоже пробовал, разницы нет. Я думаю, что моя проблема в том, как я подключаю маршрутизацию с помощью mobx. Раньше я использовал react-router-bootstrap, но, поскольку теперь я не использую bootstrap, мне нужно еще раз просмотреть это... я думаю

Cowborg 26.02.2019 13:43

Другие вопросы по теме