2017-07-04 58 views

回答

0

你可以改變HTML標籤的樣式屬性:

class MyPage extends React.Component { 

    componentWillMount() { 
    this.htmlTag = document.getElementsByTagName('html')[0]; 
    this.htmlTag.setAttribute('style', 'overflow: hidden'); 
    } 

    componentWillUnmount() { 
    this.htmlTag.setAttribute('style', ''); 
    } 

    ... 
} 
+0

完美工作,thx! – MusicGindos

0

我不知道你的項目架構如何,但是你可以用不同的方式在你的HTML標籤中添加一個類(className)。

如果你願意,你也可以使用你的redux狀態。 你檢查你是否在X頁面,如果沒關係,傳遞一個布爾值爲真,如果它是真的,把你的CSS。

我更喜歡第一種解決方案。

+0

請用一些示例代碼來澄清你的答案。 – Peter

+0

答案由Luke Vella在我的回答下澄清=) – Valtn

0

你可以只輸入一個類名,比方說loginStyle,使之如此:

html: { overflow: hidden; }

然後,只是把它作爲一個條件,讓我們說你的頭(必須是每個頁面中存在的元素)。

喜歡的東西

const isLogin = window.location.pathname === login ? true : false(< =這是不是真實的病情,但做起來很isLogin等於真正的是你是你的登錄頁面上)。

<Header className={ $ {className1} $ {className2} $ {isLogin? loginStyle:''} }/>

而你的風格只會應用於你的登錄頁面。也許不是最簡單的,但至少這會工作:)