我无法访问和定义状态。我的应用程序使用react-navigation。总的来说,在我的应用程序中,我总是可以使用状态(没有错误),但在主要的tabbar屏幕中,我得到一个" null不是一个对象"我使用简单的状态定义时出错,如下所示。
我没有使用redux
export class Review_Screen extends React.Component {
// set title at the top of the page
static navigationOptions = ({navigation}) => ({
title: navigation.state.params.title
});
constructor(props) {
super(props);
const { params } = this.props.navigation.state;
this.state = {
// general ID info
barcode: params.productdata.barcode,
userID: params.user.ID,
username: params.user.name,
expanded: false,
testing: 'hallo hallo',
};
}
render() {
console.log('-_-_-_-_-_-_-_-_-_-_-_-_-');
console.log(this.state.testing);
console.log('-_-_-_-_-_-_-_-_-_-_-_-_-');
const { params } = this.props.navigation.state;
etc...
// results in error "null is not an object (evaluating 'this.state.testing')

我认为这是因为当我在反应导航中时,我应该以不同的状态工作。
如何定义一些本地状态变量?什么是最佳做法?我会在某个时候去redux,但我还没准备好。
答案 0 :(得分:1)
这基本上意味着我要求一个没有定义的变量,因为没有调用构造函数(应用程序在编码时是活的)。
一旦我重新启动或重新加载应用程序,它就会定义状态(因为在最初加载应用程序时它会调用构造函数()。
希望这能为别人服务..