0
我可以使用一些幫助來理解這裏發生了什麼。我正在學習React,並嘗試重新創建我在Ember中的現有應用程序中構建的組件。React.js複選框將狀態更改爲'on'
相當簡單的情況,只是有一個組件具有自己的狀態,並且此組件包含一個用於在狀態上切換屬性starChart
的複選框。問題是,雖然複選框從狀態獲得正確的值,但當我切換它時,它會保持檢查狀態並將狀態屬性更改爲字符串「on」而不是布爾值。
這裏是複選框;我也跟着在創建onChange
調用和處理函數另一個教程,所以也許這裏有什麼不對,我只是不知道如何分辨它是什麼:
<input name="starChart"
type="checkbox"
checked={data.starChart}
onChange={(e) => this.handleChange(e)}/>
處理函數
handleChange = (e) => {
const rec = {
...this.state.dci,
[e.target.name]: e.target.value
};
this.setState({dci: rec});
}
我有一個類似的問題,應該是數字的輸入,但它似乎是一個<input>
在React總是返回一些字符串,我不知道如何強制它的類型(布爾,整數等),我想。
所以,你必須創建一個自定義'input'組件只是爲了模仿HTML輸入怎麼行動? – redOctober13
在可重用性的情況下 - 是的。這不是必需的。你可以處理任何其他組件,但是如果你想重用它 - 最好將它作爲獨立組件分開。 –