Javascript 将react router与next.js一起使用

Javascript 将react router与next.js一起使用,javascript,reactjs,routes,react-router,next.js,Javascript,Reactjs,Routes,React Router,Next.js,我正在学习如何在我的应用程序中使用Next.js/React。我目前正在研究路由问题,我有几个问题。我知道您可以使用react路由器进行react(我以前使用过vue路由器)。但是,我不知道是否需要将react router与Next.js一起使用,如果可以,我将如何使用它。我目前正在使用pages目录来保存要重定向到的页面。如何重定向到React/Next中的不同页面 下面是一些示例代码,用于在中实现它: Class Login extends Component { state = {

我正在学习如何在我的应用程序中使用Next.js/React。我目前正在研究路由问题,我有几个问题。我知道您可以使用react路由器进行react(我以前使用过vue路由器)。但是,我不知道是否需要将react router与Next.js一起使用,如果可以,我将如何使用它。我目前正在使用pages目录来保存要重定向到的页面。如何重定向到React/Next中的不同页面

下面是一些示例代码,用于在中实现它:

Class Login extends Component {

  state = {
    user: {},
  }

  loginUser = (e) => {
      loginUser(this.state.user)
        .then(response => {
          console.log(response);
          if (response['username']) {
            console.log('yippee!');
          }
      });
  }

}

在Yippe之后,我想重定向到pages文件夹中的/home。

对于你的第一个问题,我需要说:不,你不需要
react router
Nextjs
中,它将使用一种叫做基于文件系统的路由器,你可以阅读更多关于它的信息

因此,在设置路线后,如果您想导航到它们,您有两个选项:

首先使用
下一个/Link
中的
链接
组件:更多信息

second使用
next/router
中的
router
,您可以像
use history
react router
中导航:更多信息

文档中的示例:

import { useRouter } from 'next/router'

function ActiveLink({ children, href }) {
  const router = useRouter()
  const style = {
    marginRight: 10,
    color: router.asPath === href ? 'red' : 'black',
  }

  const handleClick = (e) => {
    e.preventDefault()
    router.push(href)
  }

  return (
    <a href={href} onClick={handleClick} style={style}>
      {children}
    </a>
  )
}

export default ActiveLink

对于你的第一个问题,我需要说:不,你不需要
Nextjs
中的
react路由器,它将使用一种叫做基于文件系统的路由器的东西,你可以阅读更多关于它的信息

因此,在设置路线后,如果您想导航到它们,您有两个选项:

首先使用
下一个/Link
中的
链接
组件:更多信息

second使用
next/router
中的
router
,您可以像
use history
react router
中导航:更多信息

文档中的示例:

import { useRouter } from 'next/router'

function ActiveLink({ children, href }) {
  const router = useRouter()
  const style = {
    marginRight: 10,
    color: router.asPath === href ? 'red' : 'black',
  }

  const handleClick = (e) => {
    e.preventDefault()
    router.push(href)
  }

  return (
    <a href={href} onClick={handleClick} style={style}>
      {children}
    </a>
  )
}

export default ActiveLink

我建议你通读一遍。特别是路由器的
部分。我建议您通读一下。特别是带有路由器的
部分。