鍍金池/ 問答/HTML5  HTML/ 關(guān)于react路由切換的動畫問題

關(guān)于react路由切換的動畫問題

大家?guī)臀铱纯?br>下面這個路由切換動畫,我有幾個疑問

  1. 為什么Switch組件需要加location屬性?
  2. 為什么TransitionGroup組件需要作為Route的component值?
  3. 寫法好別扭,就沒有更簡潔的寫法嗎?

以上,麻煩各位了!

clipboard.png

回答
編輯回答
墻頭草
下次你可以把代碼整個復(fù)制下來么?你這個圖真心不太容易看。
  1. <Switch location /> location 是傳入的 props,如果你想知道為什么傳入進(jìn)去,可以跟蹤下 Switch 代碼。
  2. 你可以看看 react router 的文檔,在 <Router component={...}> component 值表示對應(yīng)路由要顯示的組件,你可以直接 return(就是你現(xiàn)在的寫法)。
  3. 如果你要更好的寫法,可以把 TransitionGroup 創(chuàng)建一個 js,再包一層組件 <TransitionGroupWare>。然后把 TransitionGroupWare 賦值到 component 中。
2017年3月30日 20:07
編輯回答
萌小萌

。。 請問你這個代碼運(yùn)行實現(xiàn)了嗎, 我跟著你的代碼敲的也沒實現(xiàn)了 , 報錯 Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

2018年3月22日 19:46
編輯回答
失心人

沒有用動畫組件,直接上velocity.js,保證代碼簡潔的同時,效果依然很不錯哦。封裝動畫組件,完全限制動畫配置的靈活性,感覺有點把簡單事復(fù)雜化,用著還變扭。其實直接在合適的生命周期鉤子函數(shù)中進(jìn)行對應(yīng)的邏輯就OK了。

2017年1月29日 17:11