Spec-Zone.ru › Next.js

`url` устарело

Почему возникла эта ошибка

В версиях до 6.x свойство url магическим образом вставлялось в каждый компонент Page (каждая страница в каталоге pages).

Причина этого изменения заключается в стремлении к большей предсказуемости и ясности. Наличие магического свойства `url` ничем не способствует этому.

⚠️ В некоторых случаях использование React Dev Tools может вызывать это предупреждение, даже если вы не ссылаетесь на url в своем коде. Попробуйте временно отключить расширение и посмотрите, сохранится ли предупреждение.

Возможные способы исправления

/docs/advanced-features/codemods#url-to-withrouter

Начиная с Next 5, мы предоставляем способ явно внедрить объект маршрутизатора Next.js в страницы и все их дочерние компоненты. Вставленное свойство router будет содержать те же значения, что и url, такие как pathname, asPath, и query.

Вот пример использования withRouter:

import { withRouter } from 'next/router'
 
class Page extends React.Component {
  render() {
    const { router } = this.props
    console.log(router)
    return <div>{router.pathname}</div>
  }
}
 
export default withRouter(Page)

Мы предоставляем кодовое преобразование (преобразование кода в код) для автоматического изменения использования свойства url на withRouter.

Вы можете найти это кодовое преобразование и инструкции по его запуску здесь: /docs/advanced-features/codemods#url-to-withrouter

© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/messages/url-deprecated

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API