Ссылка на главную
Перед нами простая задача - добавить ссылку на главную. Это навигационная ссылка? Да. Значит используем <NavLink />
src/containers/App/index.js
Посмотрим в браузере:
Тот самый случай, когда проблема решается без документации с помощью "инспектора" (вкладки React в консоли хрома). Видим свойство - onlyActiveOnIndex: false
Исправляем:
src/containers/App/index.js
Проверим:
Отлично.
По умолчанию onlyActiveOnIndex - false. Поэтому, так как адрес у нас состоял из двух активных роутов ( / + list ) оба компонента <Link />
получили класс .active
В качестве бонуса вопрос: мы прописали onlyActiveOnIndex для нашего компонента <NavLink />
, как <Link />
узнал, что свойство onlyActiveOnIndex = true ?
Ответ: Все благодаря тому, что мы использовали spread operator. Вспомним подробнее строку из файла src/components/NavLink/index.js:
Запись {...this.props}
означает "возьми все свойства" (возьми все props).
Позже мы добавляем ко всем полученным свойствам еще одно - activeClassName.
Кстати, если нажать на "Главная" - ссылка подсветится. Это тоже результат работы - onlyActiveOnIndex
Итого: мы научились подсвечивать "ссылку на главную" без ущерба для остальной навигации.
Исходный код на данный момент.
Last updated