如何在 react router v6 中使用 withRouter 来传递道具?

How can I use withRouter in react router v6 for passing props?

以前,你需要像这样包装一些东西export default withRouter(name of component) ,现在它在 react-router v6 中有所不同。

我有这个按钮,一旦你点击它,它就会带你到另一个页面,包括我的 tableMeta.rowData[0] 中的值。 我尝试使用 navigate = useNavigate(),但我不知道如何传递 tableMeta.rowData[0]

的值
   {
      name: "Edit",
      options: {
        customBodyRender: (value, tableMeta, updateValue) => {
          return (
            <Button
              color="success"
               onClick={
            () => navigate("/edit-products")
            // console.log(tableMeta.rowData[0])
          }
            >
              Edit
            </Button>
          );
        },
      },
    },

在 React-router v6 中,我怎样才能像之前的 withRouter 那样做呢?

已弃用。您可以使用钩子版本重新创建它:

import {
  useLocation,
  useNavigate,
  useParams
} from "react-router-dom";

function withRouter(Component) {
  function ComponentWithRouterProp(props) {
    let location = useLocation();
    let navigate = useNavigate();
    let params = useParams();
    return (
      <Component
        {...props}
        router={{ location, navigate, params }}
      />
    );
  }

  return ComponentWithRouterProp;
}

更多详情check this out