【发布时间】:2016-09-19 10:33:45
【问题描述】:
我是 react native 的新手,遇到了这个问题。我有一个选项卡视图,其中 tabview.js 文件中有 2 个选项卡,tab1.js 和 tab2.js 用于 tab1 和 tab2。 因此,当页面加载两个选项卡时,componentDidMount 函数调用 loadData 函数,该函数从 web 获取数据。现在我想在更改选项卡时刷新数据。但是怎么在tabview.js里面调用tab1.js的loadData函数呢?
这是我正在使用的代码
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 中相同
【问题讨论】:
标签: reactjs react-native ecmascript-6