我有生成我的反應 UI 的代碼,它與語言串列一起作業以生成用于語言選擇的復選框。例如當在狀態
languages = {English: true, French: false}
但是,當我將其更改為包含來自資料庫的值的物件時,我沒有收到任何錯誤,但沒有加載任何內容。
[
{
"language_name": "English",
"lang_num": 1,
"checked": false
},
{
"language_name": "Mandarin Chinese",
"lang_num": 2,
"checked": false
},
]
代碼是:
{
Object.entries(this.props.languages).forEach(([key, value]) => {
console.log(this.props.languages[key].language_name),
<label id="checkbox-margin">
<input
type="checkbox"
value={this.props.languages[key].language_name}
checked={this.props.languages[key].checked}
onChange={this.handleLangClick}
/> {this.props.languages[key].language_name}
</label>
}
)
console.log 很好地列出了每個語言字串,我將它們全部列印在控制臺中,但在 UI 上沒有生成任何內容。知道為什么嗎?
謝謝!
uj5u.com熱心網友回復:
嘗試使用該map函式遍歷陣列:
{this.props.languages ? this.props.languages.map(language => {
return (
<label id="checkbox-margin" key={language.lang_num}>
<input
type="checkbox"
value={language.language_name}
checked={language.checked}
onChange={this.handleLangClick}
/> {language.language_name}
</label>
)}) : 'Loading languages...'
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/373226.html
標籤:javascript 反应 目的
上一篇:比較兩個不同類物件的整數值
下一篇:將類物件撰寫為多行字串
