@Sss109

Смена цвета на выбранный. В чём ошибка?

class App extends React.Component {

  constructor(props){
      super(props);
             
      this.state = { color: this.props.colors[0] };
      
      this.changeColor = this.changeColor.bind(this);
  }
  
  changeColor(e){
    this.setState( { color: e.target.value });
  }
 
  render(){          
    return <div>
          <p style={{backgroundColor: this.state.color}}>sample text</p>
          <select onChange={this.changeColor}>
             {this.props.colors.map(c => (<option value={c}>{c}</option>))}
          </select>
          </div>
    }
          
}

ReactDOM.render(
  <App colors={['red', 'green', 'blue']}/>,
  document.getElementById("ex")
);
  
export default App;
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
Alexandroppolus
@Alexandroppolus
кодир
changeColor = (e) => {
    this.setState( { color: e.target.value });
};
Ответ написан
Aetae
@Aetae
Тлен
В приведённом коде нет проблем:
Ищи ошибку в другом месте.

P.S. Судя по тексту ошибки, массив colors у тебя не приходит в props.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы