#javascript #reactjs #react-router
Вопрос:
Вот мой PageLink
компонент,
export const PageLink: React.FC<IProps> = ({ id, question, searchBy }) => {
return (
<Link to={{pathname: `results/${id}`, search: `?sortBy=${searchBy}`}} className={styles.PageLink}>
{question}
</Link>
);
};
Ни один из стилей, в которых я написал, PageLink
не применяется к этому компоненту. (Кстати, для этого я использую css-модули).
Основываясь на других ответах в SO, я заменил Link
на NavLink
, и это работает нормально.
Итак, у меня есть 2 вопроса,
- Почему компонент Link не принимает реквизиты имени класса?
Основываясь на этой странице с проблемой, люди говорят, что это не ошибка.
- Есть ли что-то неправильное в использовании
NavLink
вместоLink
(для моего варианта использования)
Комментарии:
1. Это работает нормально, вы можете проверить настройки своего проекта или настройки модуля CSS.
2. Цитата из предоставленной вами ссылки на github: Опять же, это связано не с нашей библиотекой, а с вашей конфигурацией или инструментами. Что-то еще перехватывает и отфильтровывает реквизит имени класса
3. И ссылка, и NavLink имеют имя класса и работают нормально.
4. Я провел тест на последнем маршрутизаторе. Какова версия вашего маршрутизатора?
5. Я использовал ту же версию, вот мой тест, stackblitz.com/edit/react-b6r9rv?file=src/App.js
Ответ №1:
Обновить
Я только что перезапустил свой сервер, и он тоже работает Link
. Я подозреваю, что с компилятором ts происходит что-то забавное. Что еще более странно, я заметил, что многие люди задают один и тот же вопрос на разных форумах.