のスタイルの治療に反応

最近のアプリケーションに反応し、マップは常にシンプルになる前に、インラインスタイルを直接使用書きました。無料の利点を生かし、要約は、インラインスタイルを除いて、より良いスタイルのアプローチを反応させます。

1.classnameライブラリ

アセンブリは、動的なクラス名を容易にするために提供されます。

impoertは、{CompoNetを}を反応させから、 '反応します'
輸入クラス名から 「クラス名」 ;

クラスは、 拡張 コンポーネントが {
(){レンダリングのconst({btnClass =クラス名を 'BTN' 'BTN-押し'この .state.isPressed、 'BTN-オーバー':!この .state.isPressed &&この .state.isHovered 、 })。リターン <ボタンクラス名= {btnClass}> {this.props.label} </ボタン> }}








  1. CSSモジュール

    ローカルスコープとスタイルモジュールの依存関係を達成するためのコンポーネント。
    使用法:
    CSS-ローダー構築されたCSSモジュールの機能をWebPACKのため、CSSモジュールを使用して、次のようにまず、WebPACKの設定でCSSモジュールを有効にする必要があります

?CSSモジュール&localIdentName = [名前] __ [ローカル] - [ハッシュ:BASE64:5 ]

これはプラスモジュールは、localIdentNameが命名スタイルが設定されて有効になっています。
そして、組立CSSスタイルファイルのインポートには使用することを来ります。

.normal { 
色:#eee。
}
「./styles.css'からインポートするスタイル。
クラスボタンコンポーネントが延びる{
レンダリング(){
リターン<ボタンクラス名= {style.normal}> </ボタン>
}
}

その他の注意事項

  1. グローバルスタイル:ローカルスタイルにCSSモジュールのデフォルトは、局所でのスタイル:ローカル小包は、生成されたCSS名はローカライズされたスタイルを実現するために、ランダムな数字の文字列を添付しました。
    あなたは使用することができます:グローバルグローバルスタイルを実現します。

    :グローバル(.btn) { 
    ...
    }
    gloablにおける//複数syle
    :グローバル {
    .normal {
    ...
    }
    .danger {
    ...
    }
    }
    1. スタイルの再利用:コンを使用
{.base 
//一般的なスタイル
}
.Normalと呼ばれるには{
構成:ベース;
//通常のユニークなスタイル
}

このとき、通常のスタイル要素またはコンポーネントを使用すると、実際には二つのクラスを生成します。

  1. CSSモジュールはクラスセレクタを変更しますスタイルに関連付けられたクラス名を、変換します。だから、IDセレクタまたはセレクタ他の属性は、スタイルのCSSモジュールを変換されていません。

  2. クラス名でのCSS Mdoules組み合わせたアプリケーションがに反応します:

    ... 
    インポートクラス名から 「クラス名」 ;
    インポートスタイルから 」./styles.css' ;

    クラス ダイアログ 延び コンポーネント {
    (){レンダリング CONST({Cxが=クラス名 !:確認これは、.state.disabled disabledConfirmを:これは、.state.disabled })。リターン <DIVクラス名= {styles.root}> <a className={styles[cx]}>確認< / A> </ div> }}











  3. 反応-CSS-モジュールライブラリをバインドするstyles.xxを入力しません。

     //....
    import CSSModules from 'react-css-modules';
    //...
    return (
    <div styleName={root}>
    <a styleName={cx}>Confirm</a>
    </div>
    )
    export default CSSModules(Dialog, styles);

其它:

ts中import css文件的时候报错。

解决方法:增加一个module definition告诉typescript可以import css文件。


declare module '*.css' {
const content: any;
export default content;
}

原文:大专栏  React中的样式处理


おすすめ

転載: www.cnblogs.com/chinatrump/p/11614954.html