2016-09-08 34 views
0

我使用react-native-navigationreact-native-meteor組合使用。自Meteor 1.3以來,建議在使用React時使用createContainer方法。但是,如果我從類定義中刪除'export default'並將其移動到導出默認createContainer(params => {...},MyClass),我鬆散地定義了導航欄按鈕。我應該如何編寫它,以避免定義我的導航欄按鈕?謝謝:)在使用react-native-meteor時添加導航欄按鈕以反應原生導航

這裏是我的部件的整個代碼:

import React, {Component} from 'react'; 
import { 
    Text, 
    View, 
    StyleSheet, 
} from 'react-native'; 
import Meteor, { createContainer } from 'react-native-meteor'; 

class TestScreen extends Component { 
    static navigatorButtons = { 
     rightButtons: [{ 
      title: 'Reset', 
      id: 'resetButton' 
     }, { 
      title: 'Submit', 
      id: 'submitButton' 
     }] 
    }; 
    constructor(props) { 
     super(props); 
     this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(
      this)); 
    } 
    render() { 
     return (<View> <Text> Some text < /Text> 
     </View >); 
    } 
    onNavigatorEvent(event) { 
     if (event.type == 'NavBarButtonPress') { 
      if (event.id == 'resetButton') { 
       // reset here 
      } 
      if (event.id == 'submitButton') { 
       // submit here 
      } 
     } 
    } 
} 
export default createContainer(params => { 
    const handle = Meteor.subscribe('records'); 
    return { 
     records: Meteor.collection('records').findOne(), 
    }; 
}, TestScreen); 
+0

我的「靜態」糖知識是有限的,你確定你想在這種情況下使用它?您可以提供一個「get」方法來檢索變量。 – HedgepigMatt

+0

這就是react-native-navigation的文檔建議。有沒有其他的方式來定義導航欄按鈕? – OndrejRohon

回答

1

可以動態地把它們放在導航:

this.props.navigator.setButtons({ 
    rightButtons: [ 
    { title: 'Reset', id: 'resetButton' }, 
    { title: 'Submit', id: 'submitButton' } 
    ] 
});