2017-03-14 9 views
0

私はかなりネイティブの反応が新しく、カスタムコンポーネントからイベントを呼び出す方法がわかりません。 私が使用しているコンポーネントはreact-native-android-snackbarです。スナックバーがアクティブかどうかを確認しようとしています。カスタムコンポーネントからのネイティブReact-nativeの呼び出し

codeを調べると、EVENT_SHOWNというイベントがあることがわかりました。これはまさに私が必要なことですが、残念ながら私はこの出来事をどうやって確認できるのか分かりません。

私は次のことを試してみました:

export default class LoginScreen extends Component { 
    constructor(props, context) { 
     super(props, context); 
     this.state = {username: '', password: '',spinnerVisible:false}; 
     this._event = this._event.bind(this); 
     DeviceEventEmitter.addListener('EVENT_SHOW',this._event); 
    } 
    _event(event: Event){ 
     Alert.alert("Event handler","Event handler"); 
    } 

しかしunfortunallyそれは私がスナックバーをアクティブにしたときに関数が呼び出されません動作しません。

誰かが正しい方向に私を助けることを願っています。

答えて

1

EVENT_SHOWNはイベントのネイティブ側であり、JSイベントはちょうどshownです。 だから試してみてください

Snackbar.addEventListener('shown', this._event); 
+0

正しいイベント名を探すためにそのファイルを調べてください。私はそれを変更しようとしましたが、それが表示または閉じるときに私のイベントハンドラ関数を呼び出すことはまだありません。私が紛失しているかもしれないものがありますか? –

+0

更新された回答で試してみませんか? – vinayr

+0

ヒーロー!それは素晴らしいことになった。なぜこれが機能するのか説明できますか? :) –

関連する問題