2

hereの例に従って、カスタムの右ナビゲーションボタンを作成しました。しかし、カスタムコンポーネントを使用するとonNavigatorEvent()メソッドがもう呼び出されないようです。私はカスタムコンポーネントに小道具としてonPressイベントを渡そうとしましたが、それはundefinedとして届きます。私が紛失しているものはありますか?Wixリアクションネイティブナビゲーション:カスタムコンポーネントボタンのonPress

これは私がボタンを作成しています関数にたonPress小道具を渡しています方法です:

Navigation.registerComponent('DoneButton',() => DoneButton); 

const DoneButton = ({text, backgroundColor, textColor, onPressAction}) => { 
    var containerStyle = [{backgroundColor: backgroundColor, width: 70, height:30, justifyContent:'center', borderRadius:4, shadowColor:'black', shadowOpacity:0.2, shadowRadius:1, shadowOffset:{width:0, height:2}}];    
    return(
     <TouchableOpacity style={containerStyle} onPress={onPressAction}> 
      <Text style={[{color:textColor, textAlign: 'center', fontSize:16}]}> 
       {text} 
      </Text> 
     </TouchableOpacity> 
    ); 
} 

_renderDoneButton(){ 
    this.props.navigator.setButtons({ 
     rightButtons: [ 
      { 
       id:   'Done' 
       component: 'DoneButton', 
       passProps: this._DoneButtonProps(), 
      }], 
    }) 
} 

_DoneButtonProps(){ 
    return { 
     text:    'Done', 
     backgroundColor: 'green', 
     textColor:   'white', 
     onPressAction:  this._doneAction.bind(this) 
    } 
} 

_doneAction(){ 
    alert('Done'); 
} 
+0

こんにちは、いくつかのコードを共有することはできますか?登録、 'function'それ自体 – gran33

+1

@ gran33もう一度コードを追加してください。 – pnizzle

+0

@ gran33更新されたコードを更新して見てください。 – pnizzle

答えて

2

バージョン1.1.282ので、カスタムボタンにunserializable小道具を渡すことができますので、あなたが渡しているたonPress方法うまくいくはずです。

+0

小道具は大丈夫です。 onPressを除いて。デバッグ時にすべての小道具は有効だが、onPressActionは未定義です。可能であれば、実用的な例を提供してください。 – pnizzle

+1

どのようなRNNのバージョンがありますか? –

+0

私はバージョン1.1.262を持っています。そしてあなたが言ったように小道具は通り抜けられています。あなたがonPressの小道具を特に言及していない限り。もしそうなら、私は再びアップグレードしてテストします。 – pnizzle

関連する問題