問題:
當嘗試以程式設計方式從React Router v6中的類別元件重新導向到不同的路由時,您可能會遇到以下錯誤:
TypeError: Cannot read properties of undefined (reading 'push')
發生此錯誤是因為導航屬性在v6中的類別元件上不可用。相反,它只能被函數組件存取。
解:
有兩種方法可以解決此問題:
將類別組件轉換為函數組件:
建立一個自訂的withRouter HOC:
import withRouter from './withRouter'; // Change this to the path of your custom HOC file export default withRouter(AddContacts);
這將提供導覽
這將提供導覽
interface NavigateFunction { ( to: To, options?: { replace?: boolean; state?: State } ): void; (delta: number): void; }
// Example usage this.props.navigate("/");
以上是如何在 React Router v6 中以程式設計方式從類別元件重新導向?的詳細內容。更多資訊請關注PHP中文網其他相關文章!