我使用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
或其他