我知道它pushReplacementNamed采用路由的名稱并將其與路由設定一起傳遞給onGenerateRoute具有該名稱并推送Navigator該函式回傳的頁面,并且我知道pushReplacement將頁面路由直接作為引數,但我要問的是about 是我什么時候應該使用一個而不是另一個,每個都有一個特定的用例還是只是一個偏好問題?
uj5u.com熱心網友回復:
這是一個偏好問題,但我更喜歡那個pushReplacementNamed。主要區別在于您已經提到的那個 -pushReplacementNamed通過onGenerateRoute回呼然后回傳下一個路由。這樣更容易分離導航邏輯并將其保存在單獨的檔案中。您的所有路由都可以在onGenerateRoute方法下定義,您的 UI 代碼與特定頁面沒有緊密耦合 - 您只需傳遞路由名稱即可。這也是為什么pushReplacementNamed包含arguments引數的原因——因為下一個路由不知道從哪里呼叫它,你可以使用引數傳遞所需的資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/449683.html
上一篇:Flutter中Navigator.pushReplacement和Navigator.pushAndRemoveUntil有什么區別?
