Reactで変数からのデータをstyle属性に挿入する
前のレッスンでは、オブジェクトを
属性styleに直接書きました。また、
変数からデータをこのオブジェクトに
挿入することもできます。
CSSスタイルのないReactコンポーネントを 取り上げましょう:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
これから変数を作成し、 それらにCSSプロパティの値を 代入します。 まずdivのスタイルから 順番に始めましょう。
コンポーネントファイル内で、
命令returnの前に変数
wd1を作成し、値
'200px'を代入します:
const wd1 = '200px';
同様に、divのすべてのプロパティ値のための 変数を作成します:
const wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';
次に、最初の段落のための 変数を追加します:
const co1 = 'orangered';
const fw1 = 'bold';
2番目の段落のため:
const fs1 = 'italic';
const co2 = 'brown';
そして最後に、最後の段落のためです。
ここでは三つではなく二つの変数が
必要です。
繰り返す意味はありません、
値boldは最初の段落のために
すでにあるのですから:
const bco1 = 'orange';
const co3 = 'white';
さて、スタイル値を持つ変数を
代入しましょう。
最初の段落から始めます。
オブジェクト内の値の代わりに
変数co1とfw1を
挿入します:
<p style = {{ color: co1, fontWeight: fw1 }}>
text
</p>
同様の方法で残りのタグも 処理します。
結果として、コンポーネントコードは 以下のようになります:
function App() {
const wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';
const co1 = 'orangered';
const fw1 = 'bold';
const fs1 = 'italic';
const co2 = 'brown';
const bco1 = 'orange';
const co3 = 'white';
return (
<div style = {{
width: wd1,
border: br1,
padding: pd1,
textAlign: ta1 }}>
<p style = {{ color: co1, fontWeight: fw1 }}>
text
</p>
<p style = {{ fontStyle: fs1, color: co2 }}>
text
</p>
<p style = {{
backgroundColor: bco1,
fontWeight: fw1,
color: co3 }}>
text
</p>
</div>
);
}
前回のレッスンの課題の解答コードを修正して、 CSSプロパティの値が変数に保存されるようにしてください。