実際には、希望するCSSスタイル名を指定するときにcamelCaseを使用します。
Inでは、インラインスタイルは文字列として指定されていません。代わりに、彼らは はここ
https://facebook.github.io/react/tips/inline-styles.html
そのキー のcamelCase形式のバージョンであるオブジェクトにスタイル名を指定しているあなたは条件付き状態に保つ値に応じてスタイルを適用できるかのデモです:
http://codepen.io/PiotrBerebecki/pen/xEyqER
class App extends React.Component {
constructor() {
super();
this.state = {
msg: [
{msg: {author: {name: 'Rich'}}},
{msg: {author: {name: 'John'}}},
{msg: {author: {name: 'Pete'}}}
]
};
}
render() {
const style1 = {
backgroundColor: 'red'
};
const style2 = {
backgroundColor: 'blue'
};
const style3 = {
backgroundColor: 'gray'
};
const getStyleName = (name) => {
switch (name) {
case 'Rich':
return style1;
case 'John':
return style2;
default:
return style3;
}
};
const renderNames = this.state.msg.map((item, index) => {
return (
<p key={index} style={getStyleName(item.msg.author.name)}>
{item.msg.author.name}
</p>
);
})
return (
<div>
<h1>React</h1>
{renderNames}
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('app')
);
ok甘い、いいですね。最後に明確にすること、もし私がちょうど特定のクラスにそれらのスタイルを適用したいのであれば、私はそれをどうやって行うことができますか?現在、あなたはページ全体の背景をしています! –
私はcodepenと答えを更新しました。私は数分でそれをさらに更新します。 –
ああ、また、私は '[0]'をハードコードしているのに気づいたかもしれませんが、私は '[i]'をして配列を繰り返し処理したいと思います。どのようにこれを達成することができますか?私はforループを入れようとしましたが、constスタイル内でそれが好きではなく、forループの中にconstスタイルを置くと、後でそれを認識しません。 –