reactjs - 在 React Next js 应用程序中单击链接时如何传递状态以打开第二个 Material UI 选项卡
问题描述
我在菜单中有一个链接,如下所示:
<ListItem button component="a" href="/messages" onClick={(e) => handleClick}>
<ListItemText primary="Sent" />
</ListItem>
/messages
route 有两个使用 Material ui 的选项卡。表 1 显示inbox
和表 2 显示sent
。
当sent
in设置tabState
为/messages
2
单击列表项时,我希望tabState
in /messages 为 2。现在,它只是在加载时设置为 1。
const [tabState, setTabState] = useState(1);
我可能需要使用 useEffect 将 tabState 设置为存储在 cookie 等存储中的值。我知道我可以使用 cookie 来做到这一点
const [tabState, setTabState] = useState(cookies.messageTabState);
但是我在这里问是否有一种更简单的方法可以在没有 cookie 的情况下执行此操作,例如从列表项(这是侧边栏菜单的菜单项)中传递一些东西。
我的handleClick
函数什么都不做,因为我不知道如何让它在它要链接的页面上设置状态。
注意:我不使用 React 路由器,因为 Next js 有一个路由器。
解决方案
你可以使用 props 将数据从一个页面传递到另一个页面或 redux 到维护状态。
推荐阅读
- ios - 带有 UISegmentedControl 和 childViewController 的 iOS LargeTitle(在容器中)
- java - 如何在 Jersey/Dropwizard 中获取变量列表 JSON 正文?
- mysql - 在mysql中创建过程时出现语法错误
- c - 通过自定义排序/删除链表中的重复项跳过最后一项
- python - 在 Python 中重塑数据集
- javascript - Slick Slider - 将图像加载到幻灯片中的 API
- python - 如果一个元组是另一个元组的子集,如何有效地查找
- vb.net - 使用 VB.net 中的 Google Cloud 服务向 Google Drive 上传/下载文件
- ios - 如何在应用商店的产品页面中编辑语言信息?
- c# - wpf计算控件的位置