2017-08-28 141 views
0

我是新來的React Native,我想導航到按鈕按下新的頁面。我已經創建了我自己的自定義按鈕供屏幕之間重複使用React原生導航按鈕按

export default class NormalButton extends Component { 

constructor(props) { 
    super(props); 
} 

render() { 
    return (
     <TouchableOpacity 
      style={styles.button} 
      onPress={this.props.onPress} 
      > 
      <Text style={styles.text}>{this.props.text}</Text> 
     </TouchableOpacity> 
    ); 
} 
} 

我想打電話給我的主類此按鈕,然後導航到另一個屏幕單擊按鈕時。

export default class Home extends Component { 

static route = { 
    navigationBar: { 
     title: 'Home', 
    } 
} 

constructor(props) { 
    super(props); 
} 

onTestPress =() => { 
    this.props.navigator.push('page2'); 
} 

render() { 
    return(
     <NormalButton 
      text="test" 
      onPress={this.onTestPress} 
     /> 
    ); 
} 
} 

當我這樣做,我得到一個警告,說也。「現有的狀態轉換過程中無法更新」,如果我從我的Home類取出onPress,只是將其放置在NormalButton類,它激活onPress立即當應用程序啓動並進入下一個屏幕

+0

當你不喜歡它上面的代碼,你會得到一個警告,但它的工作原理? –

回答

0

你需要在這樣的道具中使用箭頭綁定。

onPress={() => this.onTestPress()}