null不是一个对象(评估' this.state.noteArray') - React Native

时间:2017-04-13 22:06:18

标签: javascript android reactjs react-native react-redux

为什么我收到此错误,但我已经在我的班级添加了构造函数。 当我执行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>
    );
}

}

2 个答案:

答案 0 :(得分:1)

那么, 做一件事它会起作用。添加一个构造函数,并在该构造函数中声明状态。

constructor() {
super();
this.state = {
  noteArray:[{ 'note': 'Bingo'}],
  noteText:'',
}

}

答案 1 :(得分:0)

为什么要将val和键传递给地图功能? noteArray是一个数组,而不是具有键值对的对象。以太写note noteArray作为noteArray:{}或更改你的map函数以使用单个元素。