2 回答

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
由于我在路由器內(nèi)部渲染,我不明白為什么我可以在 RegisterPage1 中使用重定向而不能在 RegisterPage2 中使用。
React Dev Tools 可以在這里幫助你
正如您在圖像底部看到的那樣,RegisterPage2
它不在 Router 組件內(nèi)。將它與圖像的最頂部進(jìn)行比較,React App 被包裹在一個(gè)BrowserRouter
. 您將了解為什么會出現(xiàn)這些錯(cuò)誤。
如果這樣渲染是錯(cuò)誤的,那么不添加新路由的正確方法是什么?
您提出的這個(gè)要求非常困難。react-router
如果兩個(gè) React 應(yīng)用程序沒有共同的 Router 父級,則很難在它們之間遍歷。我建議您使用經(jīng)典的服務(wù)器端 http 請求(例如錨標(biāo)記或window.href.location
),而不是為您正在開發(fā)的此功能使用單頁應(yīng)用程序技術(shù)

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
這個(gè)問題是由這條線引起的
ReactDOM.render(
<RegisterPage2 data={res}/>,
document.getElementById('appContainer')
);
此行應(yīng)該將RegisterPage2組件呈現(xiàn)為React 應(yīng)用程序的根組件。
在RegisterPage2你使用的時(shí)候Redirect,假設(shè)RegisterPage2已經(jīng)有一個(gè)父組件,它已經(jīng)使用了該react- router-dom Router組件。因?yàn)樗讳秩緸楦M件而沒有被包裝在Router組件中,這就是您收到該錯(cuò)誤的原因。
添加回答
舉報(bào)