Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для AlexKOR5
50 / 14 / 3
Регистрация: 15.02.2019
Сообщений: 514

Не получается определить "useLocation hook" из "React Router"

09.09.2021, 11:00. Показов 1604. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Столкнулся с такой проблемой.
Нужно стало воспользоватся useLocation в файле, но когда я только определил (pages.js) ст 51 мне выпадает такая ошибка:

Code
1
2
3
4
5
Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
Я всё проверил, но никакого результата я не получил. В чем проблема?
Помогите пожалуйста.

gitHub:https://github.com/Alexander-K... 98b4a0e554

(src/App/pages/pages.js)
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import React from "react";
import {Link, useLocation} from "react-router-dom";
 
export function Home() {
    return (
        <div>
            <h1>[Company Website]</h1>
            <nav>
                <Link to="about">About</Link>
                <Link to="events">Events</Link>
                <Link to="products">Products</Link>
                <Link to="contact">Contact Us</Link>
            </nav>
        </div>
    );
}
 
export function About() {
    return (
        <div>
            <h1>[About]</h1>
        </div>
    );
}
 
export function Events() {
    return (
        <div>
            <h1>[Events]</h1>
        </div>
    );
}
 
export function Products() {
    return (
        <div>
            <h1>[Products]</h1>
        </div>
    );
}
 
export function Contact() {
    return (
        <div>
            <h1>[Contact]</h1>
        </div>
    );
}
 
export function Whoops404() {
    let location = useLocation();
    console.log(location);
    return (
        <div>
            <h1>Whoops 404</h1>
        </div>
    );
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2021, 11:00
Ответы с готовыми решениями:

Не переходит по страницам TS React react-router
Здравствуйте, не могу понять в чём моя проблема почему у меня не переходит со страницы Главная на страницу Настройки аккаунта. Вроде всё...

Несовместимость React-Router и React-Bootstrap
Добрый день, Пишу маленький проект и в качестве дизайна решил использовать React-Bootstrap. При создании Навигации сайта использовал...

react/ react hook с Rxjs
Здравствуйте. Столкнулся с проблемой изучения библиотеки RxJs. У меня есть ТЗ, создать секундомер. Но проблема в том, что не могу...

3
130 / 68 / 31
Регистрация: 24.07.2018
Сообщений: 787
14.09.2021, 08:01
AlexKOR5,
Цитата Сообщение от AlexKOR5 Посмотреть сообщение
Hooks can only be called inside of the body of a function component
Внутри компонента вызывай

Добавлено через 5 минут
Хотя вроде внутри компонента, в документации так же
JavaScript
1
2
3
4
5
6
function usePageViews() {
  let location = useLocation();
  React.useEffect(() => {
    ga.send(["pageview", location.pathname]);
  }, [location]);
}
1
 Аватар для AlexKOR5
50 / 14 / 3
Регистрация: 15.02.2019
Сообщений: 514
15.09.2021, 09:35  [ТС]
Цитата Сообщение от MaksimkaI Посмотреть сообщение
AlexKOR5,
Внутри компонента вызывай

Добавлено через 5 минут
Хотя вроде внутри компонента, в документации так же
Я же вызвал в компоненте.
JavaScript
1
2
3
4
5
6
7
8
9
export function Whoops404() {
    let location = useLocation();
    console.log(location);
    return (
        <div>
            <h1>Whoops 404</h1>
        </div>
    );
}
0
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
19.09.2021, 17:55
не получается повторить ошибку.. перезапустите проект может.. https://codesandbox.io/s/long-... c/index.js в сендбоксе у меня всё взлетело и если я зайду на страницу типа /test, то у меня в консоле сообщение есть и вижу страницу 404...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.09.2021, 17:55
Помогаю со студенческими работами здесь

React Hook useEffect has a missing dependency
Всем привет, подскажите, только начинаю изучать javascript с axios... Решил попробовать реализовать конвертер валют. В общем выбивает...

Проблема с React Router
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой. Из главного App вызываю так: import { Switch, Route, Router }...

React router dom v6
root.render( &lt;BrowserRouter&gt; &lt;div className=&quot;bg-gray-800 absolute h-full w-full&quot;&gt; &lt;Routes&gt; &lt;Route path=&quot;/&quot;...

React-router-dom
Доброго времени суток, у меня есть &lt;Route /&gt; который отрабатывает по пути &quot;path=&quot;/product&quot;&quot;. Мне надо что бы Route отрабатывал по...

JS React Router Redux
Всем доброго времени суток. Я программист VBA и недавно стал изучать JS. Помогите разобраться с кашей в голове после изучения React и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru