2017-10-19 18 views
0

私はリアクションアプリを作っていて、ヘッダーの右側にボタンがあるスクリーンがあります。問題は、クリックするとクラッシュすることです。ここで反応するコンポーネント内のコードは、(右コンストラクタメソッドの上方に配置された)である:React Navigation - Stack Navigation Button

static navigationOptions = { 
    headerRight: <Ionicons style={{marginRight: 15}} name={prefix + 'power'} 
        color={colors.app_secondary_color} size={30} onPress={() => this.signout()}/> 
    } 

そして、ここではエラーは次のとおりです。

_this3.signout is not a function. (In '_this3.signout()', '_this3.signout' is undefined) 

onPress 
    ProfileView.js:25:80 

私は、この参照はそこまで到達していないと思っています?

答えて

1

navigationOptionsは静的であるため、this.signoutはありません。あなたは、ボタンを別のコンポーネントに抽出し、それをreduxストアに接続してから、サインオンアクションを送出することで、あなたが望むものを達成できます。

+0

ありがとう!私はfirebaseを使用しようとしていますが、私は喜んで私のネイティブのアプリケーションロジックに還元を追加します。 – ryanwaite28