我已经使用styled-jsx@2.2.6
安装了styled-jsx,我正在做类似的事情:
import React, { Component } from 'react'
export default Index class extends Component {
constructor(props){
super(props)
this.state = { clicked: false}
}
render(){
return(){
<div>
<button onClick={() => this.setState({clicked: !this.state.clicked}}}>Hello</button>
<style jsx>{`
button {
background-color: ${this.state.clicked ? 'red' : 'blue'}
}
`}<style>
}
}
}
没有任何样式应用,我控制台注销了点击状态并且它正在被更改。
答案 0 :(得分:1)
这是一个有效的例子。那里有很多拼写错误。我假设您没有使用通常指出所有这些问题的适当的IDE。
以下是工作代码:https://stackblitz.com/edit/react-3ttfch
这是你固定的无拼写代码:
class Index extends Component {
constructor(props) {
super(props)
this.state = { clicked: false }
}
render() {
return (
<div>
<button onClick={() => this.setState({ clicked: !this.state.clicked })}>
Hello
</button>
<style jsx>{`
button {
background-color: ${this.state.clicked ? 'red' : 'blue'}
}
`}</style>
</div>
);
}
}