Я очень плохо знаком с React, и у меня возникли проблемы с тем, что, как я думал, будет простым троичным оператором. Я просто пытаюсь отобразить знак минус по умолчанию и знак плюс при нажатии. Я написал троичный оператор в своем JSX и установил начальное состояние компонента как ложное, логическое, и переключал его при нажатии. Кажется довольно просто.
По умолчанию на странице отображается знак плюс, и я не знаю почему. Когда я нажимаю на него, он не меняется, и в файле console.log, который у меня есть, отображается логическое значение. Кто-нибудь есть идеи, что случилось? Заранее спасибо. Вот код для моего компонента:
import React, { Component } from 'react';
class Header extends Component {
constructor(props) {
super(props);
this.state = {
showMinus: false,
};
this.changeSign = () => {
this.state.showMinus = !this.state.showMinus;
console.log('CLICKED ', this.state.showMinus);
}
};
render() {
return (
<div className="header">
<div>State: {this.state.showMinus}</div>
<div>30%</div>
<div>$200000</div>
<div>85%</div>
<div>
{this.state.showMinus ? <span className="plusOrMinus" onClick={this.changeSign}> - </span>
:
<span className="plusOrMinus" onClick={this.changeSign}> + </span>}
</div>
</div>
);
}
}
export default Header;