Styled-JSX变量不起作用

时间:2018-05-09 20:37:01

标签: reactjs styles jsx styled-components

我已经使用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>
  }
 }
}

没有任何样式应用,我控制台注销了点击状态并且它正在被更改。

1 个答案:

答案 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>
    );
  }
}