2017-03-13 3 views
0

にプッシュすると、CSSプロパティを配列に定義しています。配列経由しかし繰り返しCSSプロパティの多くはそこに書かれていると私はちょうどグループにそれらをアップしたいJavascript:大規模なReact-DataGridプロジェクトの一部としてCSSスタイルプロパティを配列

let _columns = []; 

let commonStyle = {"width":"200","height":"300"}; 

_columns.push({ 
    style:commonStyle 
}); 

ちょうど直接書き込ま性質持つ、プッシュ:

_columns.push({ 
    width: 200 
}); 

この作品を、または以下のような(単一のプロパティ値を持つ)変数持つ:

let commonWidth = 200; 

_columns.push({ 
    width: commonWidth 
}); 

このことも動作しますが、私は(複数のプロパティ/値を持つ)commonStyle配列を動作させることはできません。私のスタイル構文に何か問題はありますか?単一のプロパティを持つ配列を設定した場合でも、配列は同じです。

let commonStyle = {"width":"200"}; 

スタイルはまだ動作しません...なぜですか?

+0

問題は何ですか?ページ上でCSSが変更されていないか、commonStyleの "配列"が更新されていないという問題です(これは 'let'を' var'に変更することで修正されるかもしれません)。 –

+0

ページをリフレッシュすると、一般的なスタイルは有効にするが、彼らはしません – CaptainObv

+0

私もvarに変更されましたが、私は違いを見たことがありません – CaptainObv

答えて

0

実際の例では、プロパティが「スタイル」プロパティ名にネストされている最初の例とは異なるオブジェクト構造が作成されています。また、commonStyleは配列ではなく、プロパティを持つオブジェクトになります。

このお試しください:

let commonStyle = {width: 200, height: 300}; 
_columns.push(commonStyle); 
0

を、複数のコンポーネント間で共有される共通のスタイルだし、それは大規模なプロジェクトだ場合、私は彼らのための.cssや.lessを作成することをお勧めいたします。

.column{ 
    width: 200 
    height: 300 
} 

代わりに、setプロパティclassName = 'column'を使用してください。

一般的なスタイルの種類によっては、コード内にスタイルを埋め込むことで、リファクタリングやスタイルの変更が難しくなります。

関連する問題