react項目中遇到的坑

1,touchStart和touchEndcss

若是touchstart和touchend改變的是同一個state,那麼在首次加載渲染的時候組件會陷入死循環,緣由是touchstart會直接觸發,但此時state也在初始化,致使state不停的變化。vue

解決方法:onTouchStart={() => {this.touchstart(index)}},給touchstart傳一個匿名函數就能夠了函數

問題升級:若是用map方法循環return一個組件,第一次加載的時候組件上綁定的全部的方法都會執行一遍,包括onClick這些,那麼解決方法同上,綁一個匿名函數就能夠了this

2,樣式衝突問題class

雖然咱們引入了css-modules,可是咱們卻發現這樣一個現象:首次打開A頁面,引入了A的css文件,這時候再打開B界面,又引入了B的css文件,而A的css文件還在,再打開C界面,又引入了C的css文件,而此時已經有了A,B,C三個css文件了。。。。咱們指望的效果是打開A,只有A的css,打開B,只有B的css。。。,然而我查了不少資料,卻發現沒有辦法這樣,我又看了一下vue的實現,vue也是這樣,不能實現咱們指望的樣式組件分離。匿名函數

解決方法:在每一個組件的最外面div設一個classname,而後在對應的css文件最外層就包一個這個classname,這樣就能簡單的解決樣式衝突問題module

相關文章
相關標籤/搜索