我最近在使用 react.js 并想創建一個 todo-app。在我的狀態下,我寫了以下內容:
this.state={tasks: [ ["Eat",true],
["Sleep",false],
["Read",true]]}
此狀態將呈現到不同的復選框中。
在我想要呈現的內容中:
<div className="todo-app__total">{Num} Left</div>
在Num這里我要證明有多少項是仍然沒有完成(假)有變數。在上述情況下,Num=2。
其他按鈕現在功能正常,因此狀態可能會隨著時間動態變化,但我希望Num狀態更新后可以同時更改。
我如何收集真實成員的數量,而他們不在同一個陣列中(在同一列中)?
uj5u.com熱心網友回復:
假設你有一個像,
{名稱:'睡眠',完成:假}
你可以檢查如下,
items.filter(item=>item.completed == true)?.length
uj5u.com熱心網友回復:
如果您正在尋找一個簡單的解決方案,只需使用以下
<button>{this.state.tasks.filter(task=>task[1] == true)?.length}</button>
但我不確定這是否可行,您應該創建另一個狀態,不一定,但它干凈且易于理解。此外,您應該有一個物件陣列。
this.state={
tasks: [
{name: "Eat", completed: true},
{name: "Sleep", completed: false},
{name: "Read", completed: true}
],
done: 2,
}
這是正確的方法。然后只需從按鈕讀取此內容。
<div className="todo-app__total">{done} Left</div>
完成待辦事項后,只需增加或減少完成值,如下所示。
// After completing a todo
this.setState({ done: done })
// after undoing a todo
this.setState({ done: done-- })
如果您需要更多幫助,只需向我展示完整代碼即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336672.html
標籤:javascript 数组 反应 状态
