0

我正在使用 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 &rarr;" onClick={onButtonClick} />
  );
};

在新页面中,我可以使用 location.state 访问数据。我面临的问题是在页面刷新时 location.state 是未定义的。我可以使用 props.match.params 访问场景 ID。有一个更好的方法吗?我的最后一个选择是使用本地存储,但不确定这是否是最佳解决方案。

4

0 回答 0