React Native 踩坑日記
阿新 • • 發佈:2019-02-02
一、TabBarIOS 出現react.children.only expected to receive a single react element child
問題程式碼於示圖:
findPage(){
return (
<TabBarIOS.Item
icon={{uri:'tabbar_message_center', scale: 2}}
title="發現"
onPress={()=>this.setState({
selectedTabBarItem:'find'
})}
selected={this.state.selectedTabBarItem == 'find'}
>
</TabBarIOS.Item >
)
},
解決辦法:
React Native 中無論是 TabBarIOS.Item 還是 TabBar.Item 必須有且只有一個元件,說白了就是需要有子元件的存在,並且只存在一個子元件。
findPage(){
return (
<TabBarIOS.Item
icon={{uri:'tabbar_message_center', scale: 2}}
title="發現"
onPress={()= >this.setState({
selectedTabBarItem:'find'
})}
selected={this.state.selectedTabBarItem == 'find'}
>
//新增一個View就結局了問題。
<View >
<Text>發現</Text>
</View >
</TabBarIOS.Item>
)
},
二、 ListView的屬性 flexWrap:’wrap’,不起作用
解決辦法:
由於在RN 0.28之後的版本上官方已經修改了flexWrap:’wrap’的工作方式,0.28以上的版本中 flexWrap:’wrap’是和預設的alignItems: ‘stretch’是一起工作的;如果是0.28之後的版本,你需要加上alignItems: ‘flex-start’
如下:
contentViewStyle:{
flexDirection:'row',
flexWrap:'wrap',
alignItems:'flex-start',
},