我是新的反應本地和來解決這個問題。我有tabview.js文件中的2個選項卡和tab1.js和tab2.js tab1和tab2的選項卡視圖。 所以當頁面加載這兩個選項卡時,componentDidMount函數會調用從Web獲取數據的loadData函數。現在我想在更改標籤頁時刷新數據。但是我怎樣才能在tabview.js中調用tab1.js的loadData函數?React Native-如何從其父項調用子視圖的函數?
下面是我使用
tabview.js
render() {
return (
<View style={{flex: 1}}>
<Header style={{flex: 1}} />
<ScrollableTabView style={{flex: 10}} onChangeTab={(e)=>{this.checkTabPosition(e)}}>
<Tab1 tabLabel="Tab1" navigator={this.props.navigator}/>
<Tab2 tabLabel="Tab2" navigator={this.props.navigator} />
</ScrollableTabView>
</View>
);
}
tab1.js
render() {
return (
<ScrollView refreshControl={
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={this._onRefresh.bind(this)}
/>
}
>
<View>
<ListView style={styles.listview}
dataSource={this.state.dataSource}
renderRow={(rowData) => <ListItem rowData={rowData} navigator={this.props.navigator} />}
enableEmptySections={true}
/>
</View>
</ScrollView>
);
}
componentDidMount(){
this.fetchData();
}
在tab2.js
感謝它爲我工作。 :) –