为什么我收到此错误,但我已经在我的班级添加了构造函数。 当我执行android-run start并且我得到这个错误时,错误就出现了。
null不是对象(评估' this.state.noteArray')
export default class testPoject extends Component {
constructor(props) {
super(props);
this.state = {noteArray: []}
}
render() {
let notes = this.state.noteArray.map((val, key) => {
return <Note key={key} keyval={key} val={val} deleteMethod={ () => this.deleteNote(key)} />
});
return (
<View style={styles.container}>
<View style={styles.header}>
<Text style={styles.headerText}>TODO LIST </Text>
</View>
<ScrollView style={styles.scrollConainer}>
</ScrollView>
<View style={styles.footer}>
<TouchableOpacity style={styles.addButton}>
<Text style={styles.addButtonText}>
+
</Text>
</TouchableOpacity>
<TextInput style={styles.noteInputText}
placeholder="> Note"
placeholderTextColor="#FFF"
underlineColorAndroid="transparent"
numberOfLines = {3}
/>
</View>
</View>
);
}
}
答案 0 :(得分:1)
那么, 做一件事它会起作用。添加一个构造函数,并在该构造函数中声明状态。
constructor() {
super();
this.state = {
noteArray:[{ 'note': 'Bingo'}],
noteText:'',
}
}
答案 1 :(得分:0)
为什么要将val和键传递给地图功能? noteArray是一个数组,而不是具有键值对的对象。以太写note noteArray作为noteArray:{}或更改你的map函数以使用单个元素。