我正在學習React,並且給出了一個簡單的挑戰:點擊一個按鈕時計數增加。如何增加React中的狀態?
問題是我的組件似乎把數字看作字符串並將它們連接起來,而不是增加它們。例如,如果我的起始數字是2,然後單擊「添加1」,則會得到「21」,而不是預期的結果「3」。
我試圖谷歌一種方式來標記他們爲整數,但沒有運氣。
我的代碼是:
var CountComponent = React.createClass({
resetCount: function() {
this.setState({
count: '0'
})
},
addOne: function() {
this.setState({
count: this.state.count + 1
})
},
getInitialState: function() {
return {
count: '0'
}
},
render: function() {
return (
<div>
<h1>Count {this.state.count}</h1>
<button onClick={this.addOne}>Add 1</button>
<button onClick={this.resetCount}>Reset</button>
</div>
)
}
});
ReactDOM.render(
<CountComponent />,
document.getElementById('app')
);
會有人知道我已經錯在這裏?
奇怪的是,我確實找到了一個非常相似的例子,但它似乎工作https://codepen.io/ajcbrown820/pen/eZdWaj。我看不出與我的不同之處。