`url` は非推奨です
このエラーが発生した理由
6.xより前のバージョンでは、url
プロパティはすべてのPage
コンポーネント(pages
ディレクトリ内のすべてのページ)に魔法のように注入されていました。
これが廃止される理由は、物事を非常に予測可能で明示的にしたいからです。どこからともなく魔法のようなurlプロパティが現れるのは、その目標を助長しません。
⚠️場合によっては、React Dev Toolsを使用すると、コード内のどこにも
url
を参照していなくても、この警告がトリガーされる可能性があります。一時的に拡張機能を無効にして、警告が持続するかどうかを確認してください。
考えられる修正方法
/docs/advanced-features/codemods#url-to-withrouter
Next 5以降、Next.jsルーターオブジェクトをページとそれらのすべての子孫コンポーネントに明示的に注入する方法を提供しています。注入されるrouter
プロパティは、pathname
、asPath
、およびquery
のような、url
と同じ値を保持します。
withRouter
の使用例を次に示します
pages/index.js
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
この情報は役に立ちましたか?