objects returns 个空 JSX 元素数组
Array of objects returns empty JSX elements
我正在为客户开发一个时间管理应用程序,我正在使用 React Native。当用户创建新任务时,任务信息会被推入一个 objects 的数组中。这是一个空的初始状态。但出于某种原因,我在 ScrollView 中有一张空卡片。如果任务的标题不为空,我什至尝试手动设置 return 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>
当您初始化时,您的初始状态中有一个对象。只需用空数组初始化即可解决您的问题。
const initialState = [];
this.state = {
daily: initialState,
Title: '',
TaskTime: '',
}
我正在为客户开发一个时间管理应用程序,我正在使用 React Native。当用户创建新任务时,任务信息会被推入一个 objects 的数组中。这是一个空的初始状态。但出于某种原因,我在 ScrollView 中有一张空卡片。如果任务的标题不为空,我什至尝试手动设置 return 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>
当您初始化时,您的初始状态中有一个对象。只需用空数组初始化即可解决您的问题。
const initialState = [];
this.state = {
daily: initialState,
Title: '',
TaskTime: '',
}