开发者问题收集

TypeError:undefined 不是 React-Native 中的对象

2020-06-28
1036

我对 Javascript 和 ReactJS 还很陌生,对错误 TypeError: undefined is not an object (evaluating '_this.state = { destination: '' }') 感到困惑。

这是我的代码:

import React, {Component} from 'react';
import { StyleSheet, View, TextInput } from 'react-native';

export default class SearchBar extends Component {
    constructor() {
        /*
        this.state = {
            destination: ''
        };
        */
        super();
    }
    render() {
        return (
            <View style={styles.inputContainer}>
                <TextInput
                    style={styles.input}
                />
            </View>
        );
    }
}

此代码运行正常。但是,只要我取消注释

this.state = {
            destination: ''
        };

我就会收到错误。为什么 undefined 会困扰我?我没有在任何地方访问它。

这可能看起来像 此处 问题的重复,但不同之处在于,在那个问题中,解决方案涉及在提问者定义的函数上使用 .bind(this) 。我没有可以调用它的函数。

任何帮助都将不胜感激。

1个回答

thissuper 配置。在执行 super 之前, this 尚未配置。这就是您遇到的问题的原因。修复:

constructor(props) {
    super(props);
    this.state = {
        destination: ''
    };
}
Lajos Arpad
2020-06-28