Javascript React本机返回typeerror:null不是对象(正在计算feed.length)
我不知道我创建的react本机应用程序有什么问题,它返回了上述错误,我也不能说这就是代码的问题所在。 我想做的是检查提要的数量是否大于零(0),如果大于零,则显示内容,如果不大于零,则显示内容 没有保存的提要Javascript React本机返回typeerror:null不是对象(正在计算feed.length),javascript,reactjs,react-native,Javascript,Reactjs,React Native,我不知道我创建的react本机应用程序有什么问题,它返回了上述错误,我也不能说这就是代码的问题所在。 我想做的是检查提要的数量是否大于零(0),如果大于零,则显示内容,如果不大于零,则显示内容 没有保存的提要 从“React”导入React 进口{ 看法 文本, 样式表, 可触摸且无反馈, 卷轴视图 }从“反应本机” 从“../components/CenterMessage”导入CenterMessage 从“../theme”导入{colors} 导出默认类提要扩展React.Compone
从“React”导入React
进口{
看法
文本,
样式表,
可触摸且无反馈,
卷轴视图
}从“反应本机”
从“../components/CenterMessage”导入CenterMessage
从“../theme”导入{colors}
导出默认类提要扩展React.Component{
静态导航选项={
标题:“提要”,
头饰样式:{
颜色:'白色',
尺寸:20,
重量:'400'
}
}
导航=(项目)=>{
this.props.navigation.navigate('Feed',{Feed:item})
}
render(){
const{screenProps:{feeds}}=this.props
返回(
//这里出错!feeds.length
//这里出错!feeds.length
{
!feeds.length&&//此处出错!feeds.length
}
{
feeds.map((项目,索引)=>(
this.navigate(item)}key={index}>
{item.feed}
{项目.国家}
))
}
)
}
}
const styles=StyleSheet.create({
饲料容器:{
填充:10,
边界宽度:2,
borderBottomColor:colors.primary
},
提要:{
尺寸:20,
},
国家:{
颜色:“rgba(0,0,0,5)”
},
})
当您登录
订阅源时,您会得到什么?我添加了一个我得到的图片,您使用的是什么版本的react navigation?@Ziyo react navigation 2.0.1
import React from 'react'
import {
View,
Text,
StyleSheet,
TouchableWithoutFeedback,
ScrollView
} from 'react-native'
import CenterMessage from '../components/CenterMessage'
import { colors } from '../theme'
export default class Feeds extends React.Component {
static navigationOptions = {
title: 'Feeds',
headerTitleStyle: {
color: 'white',
fontSize: 20,
fontWeight: '400'
}
}
navigate = (item) => {
this.props.navigation.navigate('Feed', { feed: item })
}
render() {
const { screenProps: { feeds } } = this.props
return (
<ScrollView contentContainerStyle={[!feeds.length && { flex: 1 }]}>// error here !feeds.length
<View style={[!feeds.length && { justifyContent: 'center', flex: 1 }]}>// error here !feeds.length
{
!feeds.length && <CenterMessage message='No saved feeds!' />// error here !feeds.length
}
{
feeds.map((item, index) => (
<TouchableWithoutFeedback onPress={() => this.navigate(item)} key={index} >
<View style={styles.feedContainer}>
<Text style={styles.feed}>{item.feed}</Text>
<Text style={styles.country}>{item.country}</Text>
</View>
</TouchableWithoutFeedback>
))
}
</View>
</ScrollView>
)
}
}
const styles = StyleSheet.create({
feedContainer: {
padding: 10,
borderBottomWidth: 2,
borderBottomColor: colors.primary
},
feed: {
fontSize: 20,
},
country: {
color: 'rgba(0, 0, 0, .5)'
},
})