2

アプリケーションに次の js を使用していますが、アプリケーションの以前のルートへのルーティングに関するいくつかの問題に直面しています。window.history.back() に似たルーター関数 back() を認識しています。リンクがクリックされたときにルートに戻りたいのですが、前のリンクがアプリケーションからのものではない場合、またはは null です。デフォルトでホームページに移動したいと思います。

反応アプリに react-router-last-location などのライブラリを使用しましたが、next/router を介して次の js でそれを行うより良い方法があるかどうかを確認したいと思います。

ここに私のサンプルコードがあります:

<div className={styles['icon-container']}>
  <Link  href="/"><a>
     <img src="icon.svg"></img>
  </a></Link>
</div>

href 入力で router.back() を使用すると、ページが読み込まれる前でも自動的に戻ります。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

4

<Link>アプリの外に出ることはできません。(でもrouter.back()できます)

コードで直接使用することはできませんrouter.back()。次のようにする必要があります。

<img onClick={() => router.back()} src="icon.svg" />

<Link>onClick プロパティがありません。

import { useRouter } from 'next/router'

export default function Page() {
  const router = useRouter()

  return (
    <button type="button" onClick={() => router.back()}>
      Click here to go back
    </button>
  )
}

情報元はこちら

于 2021-06-16T08:55:09.570 に答える