react-native-tab-navigator 구성 요소 의 기본 사용 예시 코드
기본 튜 토리 얼 사용
1.구성 요소 도입
import TabNavigator from 'react-native-tab-navigator';
Github 의 주소 2.render 방법 으로 되 돌아 가기:
render() {
return (
<View style={styles.container} >
<TabNavigator>
<TabNavigator.Item
selected={this.state.selectedTab === ' '}
title=" "
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("../images/movie_gray.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/movie_red.png")} />}
onPress={() => this.setState({ selectedTab: ' ' })}>
<MoviePage/> //
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === ' '}
title=" "
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("../images/music_gray.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/music_red.png")} />}
onPress={() => this.setState({ selectedTab: ' ' })}>
<MusicPage />
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === ' '}
title=" "
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("../images/book_gray.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/book_red.png")} />}
onPress={() => this.setState({ selectedTab: ' ' })}>
<BookPage />
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === ' '}
title=" "
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("../images/my_gray.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/my_red.png")} />}
onPress={() => this.setState({ selectedTab: ' ' })}>
<MyPage />
</TabNavigator.Item>
</TabNavigator>
</View>
);
}
페이지 구성 요소 도입:
import MoviePage from './pages/MoviePage';
import MusicPage from './pages/MusicPage';
import BookPage from './pages/BookPage';
import MyPage from './pages/MyPage';
state 상태 기 설정:
constructor(props){
super(props);
this.state = {
selectedTab:' '
}
}
기본 스타일 도입:
const styles = StyleSheet.create({
container:{
flex:1,
backgroundColor:'#fff'
},
tabText:{
color:'#000000',
fontSize:10
},
selectedTabText:{
color:'#D81E06'
},
icon:{
width:20,
height:20
}
})
이때 효과 가 나 왔 습 니 다.우 리 는 추상 적 인 구성 요 소 를 계속 합 니 다.각 항목 을 추출 하여 하나의 통 일 된 방법 에 넣 습 니 다.
_renderTabarItems(selectedTab,icon,selectedIcon,Component){
return (
<TabNavigator.Item
selected={this.state.selectedTab === selectedTab}
title={selectedTab}
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={icon} />}
renderSelectedIcon={() => <Image style={styles.icon} source={selectedIcon} />}
onPress={() => this.setState({ selectedTab: selectedTab })}
>
<Component />
</TabNavigator.Item>
)
}
이때 render 방법 에서 네 가지 방법 을 직접 인용 하면 됩 니 다.
render() {
return (
<View style={styles.container}>
<TabNavigator>
{this._renderTabarItems(' ',require('../img/movie_gray.png'),require('../img/movie_red.png'),MoviePage)}
{this._renderTabarItems(' ',require('../img/music_gray.png'),require('../img/music_red.png'),MusicPage)}
{this._renderTabarItems(' ',require('../img/book_gray.png'),require('../img/book_red.png'),BookPage)}
{this._renderTabarItems(' ',require('../img/my_gray.png'),require('../img/my_red.png'),MyPage)}
</TabNavigator>
</View>
);
}
이로써 이미 초보 적 으로 완성 되 었 다.구성 요소 의 속성 집합:
Props
TabNavigator props
prop
default
type
description
sceneStyle
inherited
object (style)
필드 스타일,즉 Tab 페이지 용기 스타일,View 의 style 에 따라 설정 할 수 있 습 니 다.
tabBarStyle
inherited
object (style)
TabBar 의 스타일 은 기본적으로 일반적인 스타일 로 설정 할 수 있 습 니 다.
tabBarShadowStyle
inherited
object (style)
TabBar 음영 의 스타일 이지 만 평면 화 된 디자인 에 있어 서 이 속성 은 쓸모 가 없 을 것 입 니 다.
hidesTabTouch
false
boolean
bool 형식,Tab 단 추 를 누 르 는 효 과 를 숨 길 지 여부 입 니 다.
TabNavigator.Item props
prop
default
type
description
renderIcon
none
function
아이콘 이지 만 function 형식 이기 때문에 Arrow Function 을 사용 해 야 합 니 다.
renderSelectedIcon
none
function
선택 한 상태 아이콘,필수 가 아 닌 function 형식 입 니 다.
badgeText
none
string or number
즉,Tab 오른쪽 상단 에 있 는 알림 문 자 는 String 이나 Number 입 니 다.QQ 의 Tab 오른쪽 상단 에 있 는 메시지 알림 과 같 습 니 다.필요 하지 않 습 니 다.
renderBadge
none
function
프롬프트 커서 렌 더 링 방식,function 형식,render 와 유사 한 사용,필요 하지 않 음
title
none
string
제목
titleStyle
inherited
style
제목 스타일
selectedTitleStyle
none
style
제목 스타일,style 형식 을 선택 하 십시오.
tabStyle
inherited
style
styling for tab
selected
none
boolean
bool 형,상태 선택 여부,setState 로 제어 가능,기본 false
onPress
none
function
이벤트 의 반전 함 수 를 누 르 면 state 를 제어 해 야 합 니 다.
allowFontScaling
false
boolean
bool 형,글꼴 크기 조정 허용 여부,기본 false
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nginx 에서 사이트 아이콘 표시 설정전단 개발 환경: react:^16.4.1 webpack:^4.16.0 웹 팩 에 favicon. ico 설정 추가: nginx 는 ico 에 대한 지원 을 추가 합 니 다:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.