2017-09-12 23 views
0

状態のアクセスと定義に問題があります。私のアプリは反応ナビゲーションを使用しています。全体的に私のアプリでは、私はいつでも状態(エラーなし)で作業することができますが、私は以下のように単純な状態の定義を使用すると、プライマリタブバー画面内で、 "nullはオブジェクトではありません"this.state反応ナビゲーション画面内

私は

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の

を使用していない私は私が私が反応し、ナビゲーション内だときの状態と異なる動作をすることになっていますので、これはあると仮定します。

いくつかのローカル状態変数を定義するにはどうすればよいですか?ベストプラクティスとは何ですか?私はある時点で還元するが、それはまだ準備ができていない。

答えて

1

これは恥ずかしいことです。この問題は、私がコーディングしている間に、 "ホットリロード"で自分の反応ネイティブを持っていたために発生しました。

これは基本的には、コンストラクタが呼び出されていない(アプリケーションがコーディング中にライブだったため)、定義されていない変数を要求していたことを意味します。

私は再起動するか、アプリを再ロードしたら最初にアプリをロードしているときに(コンストラクタを呼び出すため、それは()の状態を定義しない。

希望、これは他の誰かを提供しています。..

関連する問題