我正在為客戶開發一個時間管理應用程式,并且我正在使用本機反應。當用戶創建新任務時,任務資訊會被推送到物件陣列中。這是一個空的初始狀態。但由于某種原因,我在 ScrollView 中有一張空卡片。我什至嘗試手動設定如果任務的標題不為空然后回傳 jsx 元素,但沒有運氣。知道我做錯了什么。
創建任務的功能
Create_Task = () => {
let {daily, Title, TaskTime} = this.state;
daily.shift();
daily.push({ID: this.makeid(5), TaskName: Title, TaskTime: TaskTime});
this.setState({daily: [...this.state.daily, Title]});
};
陣列的初始狀態和所有資訊
const initialState = [{ID: '', TaskName: '', TaskTime: ''}];
this.state = {
daily: initialState,
Title: '',
TaskTime: '',
}
回傳 JSX 元素
<View style={styles.tasks}>
<ScrollView>
{this.state.daily.map(x => {
if (x.TaskName !== ' '){
return (
<Card style={styles.card} key={x.ID}>
<View style={styles.cardView}>
<TouchableOpacity
style={styles.btnComplete}></TouchableOpacity>
<Text style={styles.task_Title}>{x.TaskName}</Text>
<Text style={styles.taskTime}>{x.TaskTime}</Text>
</View>
</Card>
);
}
})}
</ScrollView>
</View>
uj5u.com熱心網友回復:
當您初始化它時,您的初始狀態中有一個物件。只需使用空陣列進行初始化就可以解決您的問題。
const initialState = [];
this.state = {
daily: initialState,
Title: '',
TaskTime: '',
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/406369.html
標籤:
上一篇:從JSP過渡到Tomcat7servlet的問題。不從JSP頁面呼叫post方法
下一篇:什么人需要這行代碼(設備高度)?
