私はreduxでReactJSを使用しています。 私はscssを使用しています。 HTML::{オーバーフロー:隠さ} http://localhost:3000/login 私はこのページに追加する必要があります。scssとReactJSとreduxを使用して1ページにCSSを追加
をし、他のページに私は、この属性を削除したい は私の道があると言うことができます。
誰か手掛かりがありますか?
私はreduxでReactJSを使用しています。 私はscssを使用しています。 HTML::{オーバーフロー:隠さ} http://localhost:3000/login 私はこのページに追加する必要があります。scssとReactJSとreduxを使用して1ページにCSSを追加
をし、他のページに私は、この属性を削除したい は私の道があると言うことができます。
誰か手掛かりがありますか?
あなたは、htmlタグのスタイル属性を変更することができますあなたのヘッダーで言うように条件に入れるだけです(すべてのページに要素がなければなりません)。
const isLogin = window.location.pathname === login ? true : false
よう
何か(< =これは本当の条件ではないが、それはそうisLogin
真等しい作ることはあなたがあなたのログインページにあります)。
<Header className={
$ {className1} $ {className2} $ {isLogin? loginStyle: ''} }/>
あなたのスタイルはログインページにのみ適用されます。おそらく最もシンプルではないかもしれませんが、少なくともこれはうまくいくでしょう:)
私はあなたのプロジェクトアーキテクチャがどのようになっているのかわかりませんが、HTMLタグにクラス(className)を別の方法で追加できます。
必要に応じて、還元状態を使用することもできます。 Xページに入っているかどうかを確認してください。大丈夫ならブール値をtrueに渡し、それが真であればCSSを入れます。
私は最初の解決策を好む。あなたは、
html: { overflow: hidden; }
を次に:
class MyPage extends React.Component {
componentWillMount() {
this.htmlTag = document.getElementsByTagName('html')[0];
this.htmlTag.setAttribute('style', 'overflow: hidden');
}
componentWillUnmount() {
this.htmlTag.setAttribute('style', '');
}
...
}
あなただけのはloginStyle
を言わせ、クラス名をインポートし、それを作ることができる:
完璧に働いているよ! – MusicGindos