我有兩個checkbox
在<form>
。 <form>
有一個onChange={this.checkBoxOnChange}
分配給它,它激發了checkBoxOnChange(event){..}
功能的每一個變化的形式。我想映射(日誌)的狀態(即他們是否被檢查)。所以,我最初的價值爲false
,因爲它們沒有被檢查,然後在我試圖改變的每個事件分別值(即如果虛假&反之亦然)。三元運算符(內聯,如果沒有其他)
在以下this SO後我嘗試這樣做:
(event.target.value=='BILLDED') && billed=(!billed)
通過這樣做,我得到:
Syntax error: Invalid left-hand side in assignment expression
然後我嘗試這樣做:
(event.target.value=='BILLDED') ? (billed=(!billed)) : null
但是,它給了我BILLED:true
每onChange
(當點擊BILLED checkbox
)
這是複選框代碼內渲染方法:
render() {
return (
<div>
<form onChange={this.checkBoxOnChange}>
<input type="checkbox" name="invoicestatus" value="BILLDED" />BILLDED<br />
<input type="checkbox" name="invoicestatus" value="PENDING" />PENDING<br />
</form>
<ListData data={this.state.data}/>
</div>
);
}
這是同一類(組件)中的checkBoxOnChange()
功能:
checkBoxOnChange(event){
var billed=false;
var pending=false;
// (event.target.value=='BILLDED') ? (billed=(!billed)) : null;
(event.target.value=='BILLDED') && billed=(!billed)
// (event.target.value=='PENDING') ? pending=(!pending) : null;
console.log("BILLDED:"+billed+" PENDING:"+pending);
}
- 有什麼不好的代碼?
- 對於這種情況,我不能使用內聯語句嗎?
- 有沒有更好的,更簡潔的方法?
明白了。你能告訴我,那麼它會成爲初始化它們的理想地點嗎?在''構造函數''內部的'this.state()'內可能呢?由於React中沒有提供全局變量 – BlackBeard
是的,使它成爲國家的一部分聽起來像是個好主意。當然,這也取決於你想要除了記錄它以外的值。 – Bergi