、あなたが使用する必要が助けてくださいTabScreen
'uses strict'
import {StyleSheet, View, Text, Image} from 'react-native';
import React, {Component, PropTypes} from 'react';
import {IndicatorViewPager, PagerTabIndicator} from 'rn-viewpager';
export default class TabScreen extends Component {
constructor (props) {
super(props)
}
static propTypes = {
views : PropTypes.arrayOf(PropTypes.instanceOf(View)).isRequired,
tabs: PropTypes.arrayOf(PropTypes.shape({
text: PropTypes.string,
iconSource: Image.propTypes.source,
selectedIconSource: Image.propTypes.source
})).isRequired,
}
render() {
return (
<View style={{flex:1}}>
<IndicatorViewPager
style={{flex:1, paddingTop:20, backgroundColor:'white'}}
indicator={<PagerTabIndicator tabs={this.props.tabs} />}>
{views}
</IndicatorViewPager>
</View>
);
}
}
module.exports = TabScreen;
のコードですコンポーネントのchildren
は、次のようになります。
あなたの上位レベルのコンポーネントのrender
方法:
<TabScreen>
<View><Text>First tab</Text>
<View><Text>Second tab</Text></View>
{/* And so on... */}
</TabScreen>
次に、あなたのTabScreen
コンポーネントでは、単に実行します。いずれの場合で
render() {
return (
<View style={{flex:1}}>
<IndicatorViewPager
style={{flex:1, paddingTop:20, backgroundColor:'white'}}
indicator={<PagerTabIndicator tabs={this.props.tabs} />}>
{this.props.children}
</IndicatorViewPager>
</View>
);
}
を、あなたの質問に応じて:
どう
View/Componentの配列を作成できますか?
他の配列と同じです。 map
と、例えば:
TabScreenに小道具として配列を渡す方法
let elements = ['First Tab', 'Second Tab'].map((text)=> <View><Text>{text}</Text></View>))
?それは小道具(それが警告を発生させます。その場合には検証メカニズムのいくつかの並べ替えを持っていない限り、すべての変数は、小道具として渡すことができます)に来るとき
配列は、他のデータ型に違いはありません。