2017-04-06 9 views
0

Reactネイティブアプリで「react-native-router-flux」を使用していますが、カスタムNavbarとコンポーネントとの通信方法がわからないようですか?NavBarはReact Nativeのコンポーネントとどのように通信する必要がありますか?

私は以下のコードを持っています。

NavigationRouter.js:

<Scene key='addDrillScreen' component={AddDrillScreen} navBar={AddDrillNavBar} /> 

AddDrillScreen.js:

class AddDrillScreen extends React.Component { 
    performSave() { 
    // Want to call performSave() when NavBar is clicked 
    } 

} 

AddDrillNavBar.js:

class AddDrillNavBar extends React.Component {  
    render() { 
    return (
     <View style={styles.saveButton}> 
     <TouchableOpacity onPress={() => { 
      // ??? How do I trigger the performSave() on my AddDrillScreen? 
     }}> 
      <Text style={styles.saveButtonText}>Save</Text> 
     </TouchableOpacity> 
     </View> 
    ) 
    } 

私は2つの通信方法を理解していない

+1

これも同様の問題です。これであなたの問題が解決されることを願っています。 http://stackoverflow.com/questions/32846655/how-do-i-call-execute-a-function-from-another-component-in-react-native –

答えて

0

あなたはカップルを持っていますFオプションここ

  • は、あなたのフラックスライブラリ内のアクションのこの種のためのベストプラクティスを使用して、異なるクラスに
  • performSave静的移動 performSaveを作成し共有することができ1と反応する成分を
  • ではありませんあなたが1つを使用する場合。たとえば、reduxでは、そのコードをアクションクリエイターに含めることになります。
関連する問題