[英]set state in React
我的react組件上有以下狀態變量:
this.state = {
application: {
institutions: [{
"name":null
}]
}
}
我想設置變量名稱的狀態,而我所做的是:
handleChangeInstitution(event,indexInstitution){
const institutions = [...this.state.application.institutions]
institutions[indexInstitution] = {
...institutions[indexInstitution],
[event.target.name]: event.target.value
}
this.setState(prevState => ({
...prevState,
application: {
...prevState.application,
institutions: [
...institutions,
]
}
}))
}
這工作得很好,但是當我在輸入框中鍵入內容時,它確實很慢。 有什么方法可以優化它嗎?
這是一個更清潔的解決方案。 另外,這是更新數組項的非常常見的模式。 關於性能,這部分代碼無能為力。 它不應該關於這部分。
handleChangeInstitution(event,indexInstitution){
this.setState(prevState => ({
...prevState,
application: {
...prevState.application,
institutions: [
...institutions.slice(0, indexInstitution),
{
...institutions[indexInstitution],
[event.target.name]: event.target.value
},
...institutions.slice(indexInstitution + 1),
]
}
}))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.