javascript - 使用 React Router 进行按钮导航

标签 javascript reactjs react-native react-router material-ui

标题:我正在尝试使用 onClick 方法从 Material UI 按钮导航到新页面。我对在 handleClickSignIn 函数中写什么感到困惑。

我的 Header.tsx 文件中的代码片段:

const HatsPage = () => (
  <div>
    <h1>
      HATS PAGEHH
    </h1>
  </div>
)

function handleClickSignIn() {
  <Route component= {HatsPage}></Route>
}

const Header = () => (
  <div className = 'header'>‚
    <h1 className = 'title'>
      Instaride
    </h1>
    <div className="header-right">
      <Button onClick= {handleClickSignIn}> Sign In</Button>
      <Button> Contact</Button>
    </div>
  </div>
);

这不起作用,我收到如下错误:

expected assignment or function but got expression instead

最佳答案

您遇到的问题是,每次单击登录按钮时都会生成Route组件。

相反,您应该使用 Link 组件,如下所示:

const Header = () => (
  <div className = 'header'>‚
  <h1 className = 'title'>
    Instaride</h1>
  <div className="header-right">
    <Link to={"/login"}> Sign In</Link>
    <Button> Contact</Button>
  </div>
</div>

这将创建一个链接组件,单击该组件将定向到 /login URL。然后,要在该 URL 处渲染组件,您还需要定义 Route 。您已经完成了此操作,但需要像这样定义路径:

<Route path={"/login"} component={HatsPage} />

然后请注意,此 Route、您的 Header 组件和任何 Link 需要嵌套在 BrowserRouter 的实例中。

关于javascript - 使用 React Router 进行按钮导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60022481/

相关文章:

javascript - 谷歌 ie7 代码无法在网站上运行

javascript - Redux 表单操作未定义

javascript - 无法渲染 React 组件,我的理解或代码中有错误?

react-native - React Native 相机第一次工作,然后在 Android 设备中无法工作(黑屏)

java - React native - 如何修复 Java.lang Double 无法转换为 java.lang.Boolean

javascript - ExtJS4 模板参数

javascript - 如何编写一个 Protractor 测试来查找 'ng-repeat' 中的第一个元素?

javascript - 如何在 ASP.NET MVC 中使用 Razor View 从对象列表中获取 Controller 中的单个对象

javascript - 如何编写具有正确 TS props 检查的函数包装器

javascript - 错误组件无法在 native react 中导航