Переменные Styled-JSX не работают - PullRequest
0 голосов
/ 09 мая 2018

Я установил styled-jsx с помощью styled-jsx@2.2.6 и делаю что-то вроде этого:

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 голосов
/ 10 мая 2018

Вот рабочий пример.У тебя там было много опечаток.Я предполагаю, что вы не используете подходящую 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>
    );
  }
}
...