在新选项卡中使用useNavigate路由/重定向到另一个页面



我使用ag-grid,它有一个事件onSelectionChanged,这使得行可点击。当我点击下面的行函数被调用。

const onSelectionChanged = useCallback(() => {
const selectedRow = gridRef.current.api.getSelectedRows(); //get the row data
let navigate = useNavigate();   //import { useNavigate } from "react-router-dom";
navigate('/Detail', { state: { data: selectedRow[0]} });  //navigate to detail page
}, []);

函数导航到详细页面并传递状态。但navigate()调用同一选项卡中的Detail页。

我想在新选项卡中打开页面。用这种方法可以吗?或者有其他方法可以实现我的目标?

react-router不应该帮助保存状态时,在一个新的选项卡打开的东西。事实上,从根本上说,react不应该帮助做到这一点。

我有两种方法:

  • 如果数据足够简单,使用windows.open(window.open("http://link?key="+ value +"&key2="+ value2 ..."); )
  • 将其作为查询或路径参数传递。
  • 查看其他状态管理方法,如localstorage或其他

最新更新