在使用dva作為react應(yīng)用框架時,我們經(jīng)常會遇到引入的CSS無效的問題。這個問題的根本原因是在dva框架中,CSS Modules默認(rèn)是開啟的,而且使用了hash命名規(guī)則,導(dǎo)致我們引入的CSS樣式在構(gòu)建之后被自動修改,失去了原本的名稱和屬性。
// index.css .header { color: red; }
上述代碼表示,在index.css中我們定義了一個具有red顏色的.header樣式。但是在dva框架中,這個樣式文件的后綴會被加上hash值,變成"index_a7d63.css",而.header樣式也被替換成了"header_1xj2h"樣式。
為了解決這個問題,我們需要使用dva提供的className類名獲取方法,來動態(tài)獲取樣式。我們可以通過以下方式進行修改:
//index.js import styles from './index.css' function App() { return (Hello World!) }
上述代碼表示,在index.js中,我們通過import導(dǎo)入了index.css的樣式,并使用styles.header來動態(tài)獲取.header樣式。
通過這種方式,我們就可以在dva框架中正確引入和使用CSS樣式,有效解決引入CSS無效的問題。