我试图在我的React类中使用一些样式。我之前做过:
<div style={{background: "red"}}></div>
我想改用变量,例如:
<div style={divStyle}></div>
我的代码如下:
class HolaMundo extends React.Component {
const divStyle = {
color: 'blue',
};
render() {
return(
<div className="container" style={divStyle}>
<h1> Hola {this.props.name}</h1>
</div>
);
}
}
ReactDOM.render(<HolaMundo name="One" />, document.getElementById("app"));
但样式不适用。我怎样才能做到这一点?
答案 0 :(得分:5)
你不能在类的中间定义一个常量,这是无效的语法。根据定义 1 ,类主体只能包含方法定义,静态方法定义和空语句(;
) 2 。在方法中定义divStyle
:
class HolaMundo extends React.Component {
render() {
const divStyle = {
color: 'blue',
};
return (
<div className="container" style={divStyle}>
<h1>Hola {this.props.name}</h1>
</div>
);
}
}
1 根据ECMAScript 2015语言规范,Section 14.5 - Class Definitions
2 Babel目前支持类属性(plugins)。您还可以通过构造函数使用this.style = { ... }
分配实例变量,并使用this.style
在类中的任何位置访问它。
答案 1 :(得分:1)
在页面底部(类声明下方),您可以定义样式对象:
const styles = {
exampleStyle: {
backgroundColor: 'red',
}
};
然后将其传递给组件样式prop:
style={styles.exampleStyle}