如何在 React 中的两个按钮之间切换并根据单击的按钮更改 NAvlink 路径

Posted

技术标签:

【中文标题】如何在 React 中的两个按钮之间切换并根据单击的按钮更改 NAvlink 路径【英文标题】:How to toggle between two buttons in React and chnange the NAvlink path based on button clicked 【发布时间】:2021-12-26 11:15:09 【问题描述】:

我正在尝试在反应中的两个图像之间切换并尝试根据路径更改 Navlink 路由在此处输入图像描述

<button className="lessonTypeButton">
  <img
    src=singleLessonsType
    
    className="packageOne"
    onClick=lessonSelected
  />
</button>

<br />
<br />
<br />

<button className="lessonTypeButton">
  <img
    src=packageLessons
    
    className="packageTwo"
    onClick=lessonSelected
  />
</button>

【问题讨论】:

【参考方案1】:

您可以拥有href 属性以在 URL 中拥有路由,

<button className="lessonTypeButton">
    <img
      src=packageLessons
      
      className="packageTwo"
      onClick=lessonSelected
      href=/packageLessons
    />
</button>
<button className="lessonTypeButton">
    <img
      src=singleLessonsType
      
      className="packageOne"
      onClick=lessonSelected
      href=/singleLessonsType
    />
</button>

或者使用钩子,

import  useHistory  from "react-router-dom";

然后在函数中使用,

let history = useHistory();

function lessonSelected = ()=>
    history.push("/singleLessonsType");

或者直接调用onclick事件,

<button className="lessonTypeButton">
    <img
      src=packageLessons
      
      className="packageTwo"
      onClick=history.push("/packageLessons");
    />
</button>
<button className="lessonTypeButton">
    <img
      src=singleLessonsType
      
      className="packageOne"
      onClick=history.push("/singleLessonsType");
    />
</button>

【讨论】:

以上是关于如何在 React 中的两个按钮之间切换并根据单击的按钮更改 NAvlink 路径的主要内容,如果未能解决你的问题,请参考以下文章

如何通过单击两个按钮在单个活动中在 RecyclerView 和 ListView 之间切换?

如何创建一个 UIViewController 具有两个视图,根据单击的按钮显示一个或另一个

在 React JS 中的组件之间切换

如何通过单击按钮重新绘制 jpanel 并在 2 个面板之间切换

如何在 React-Router 中的路由之间共享状态?

AngularJs在两个按钮之间切换