Добрый день, надеюсь, что я вас не побеспокою.
Подробности
У меня есть такой путь
localhost: 3000 / Project-1 / todo-1
и Switch of Route вот так
<Route path='/:project/:todo' component={Todo} />
Ожидаемый результат
Когда браузер находится в пути примера, я ожидал, что App.js также может получить объект params с помощью useParams, но показывает пустое значение. Я неправильно использовал крючок? Спасибо за ответы.
дополнительные детали
Я использовал useLocation, который возвращает что-то вроде пути, но это не моя цель, это должно быть что-то вроде
params: {
project: 'Project-1',
todo: 'todo-1 '
}
который возвращается с помощью useParams для упрощения извлечения значений проекта и задачи.
App.js
отображается в пределах маршрута? Если нет, то для него нет информации о маршруте. 03.01.2020render
вRoute
, а не опоруcomponent
при использовании встроенной функции. Свойствоcomponent
будет принудительно выполнять полное перемонтирование компонента при каждом рендеринге, а не обновлять его. Я упоминаю об этом только потому, что в вашем примере используетсяcomponent
, в то время как @DrewReese правильно используетrender
. Я не хотел, чтобы вы упустили из виду это небольшое, но существенное изменение. 03.01.2020