簡體   English   中英

React-Router-Dom 6+ 拋出嘗試導入錯誤:“withRouter”未從“react-router-dom”導出

[英]React-Router-Dom 6+ throwing Attempted import error: 'withRouter' is not exported from 'react-router-dom'

當我嘗試使用 'react-router-dom@6.0.0-beta.0' 運行時,我得到

嘗試導入錯誤:“withRouter”未從“react-router-dom”導出

import {Route, withRouter } from "react-router-dom";

什么是替代品?

更新

這些鏈接表明應該使用全局對象是否有更好的方法?

鏈接 1鏈接 2

這個版本不支持'withRouter',你可以使用其他一些屬性如useLocation, useNavigate, useParams

,然后通過使用這些你可以定義'withRouter',也避免改變react-router-dom的版本。 使用此代碼解決問題

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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM