從反應docs,我後來使用setState感到困惑。 看到這個奇怪的setState用法
handleCelsiusChange(temperature) {
this.setState({scale: 'c', temperature}); // no key
}
如果狀態像
this.state = {temperature: '', scale: 'c'};
所以不是我在一開始表現出我期待這樣定義的一個電話:
handleCelsiusChange(temperature) {
this.setState({scale: 'c', temperature: temperature}); // with key
}
我錯過了什麼? (顯然有一些自動轉換髮生)。
PS。 temperature
只是字符串,不是您從子組件獲得的對象,例如
handleChange(e) {
this.props.onTemperatureChange(e.target.value);
}
我是這麼認爲的:
如果該鍵和值命名爲同樣的事情,例如這隻會工作所以當直接值的時候說{myProp},它會被翻譯成{myProp:myProp}? (順便說一句找不到文檔:) :) –
我已經包含了相關文檔的鏈接。 –