我正在使用 history.push() 重定向到页面并传递一些道具,如下所示:
const ViewDetailCellRenderer = (props: any) => {
let history = useHistory();
const scenario = props.data;
const onButtonClick = (event: React.KeyboardEvent | React.MouseEvent) => {
history.push({
pathname: `/scenario-details/${scenario.ID}/kpi`,
state: {
scenario: scenario,
},
});
};
return (
<Button color="secondary" label="View →" onClick={onButtonClick} />
);
};
在新页面中,我可以使用 location.state 访问数据。我面临的问题是在页面刷新时 location.state 是未定义的。我可以使用 props.match.params 访问场景 ID。有一个更好的方法吗?我的最后一个选择是使用本地存储,但不确定这是否是最佳解决方案。