我正在使用genymotion来运行我的React Native开发环境。加载特定组件时,我得到console.error消息:there was a problem sending log messages to your development environment
,其中有一个奇怪的堆栈跟踪,使用<unknown>
代替几个命名函数。
我将问题缩小到我的代码中的一个组件:
class Questions extends React.Component {
constructor(props){
super(props);
this.state = {
style: 'all',
selected: ''}
}
render = () => {
return (
<View style={styles.questions}>
<ScrollView>
{(this.props.questions && this.state.style == 'all')&&
this.props.questions.map(post => {
return (
<TouchableHighlight onPress={() => this.loadQuestion(post)} key={post.ID + new Date(post.post_date)} style={styles.questionCard} >
<View style={styles.questionCard} >
<View style={styles.title}>
<Text style={{color: 'white'}}>{post.post_title}</Text>
<Text style={{color: 'white'}}> - {post.display_name} {utils.timeSince(new Date(post.post_date))}</Text>
</View>
</View>
</TouchableHighlight>
)
})
}
</ScrollView>
</View>
)
}
}
每当这个组件加载时,我得到了上面提到的console.error。我知道这不是很重要,我甚至不希望得到答案,但我不知所措。
如果你谷歌确切的错误消息你会在Github上找到一个没有解决方案的问题,提到它可能是expo sdk中的一个错误(这是有意义的)并链接另一个404s的问题。
答案 0 :(得分:11)
好吧我想我解决了,问题实际上是在我的utils函数timeSince
中。我有一个迷失的console.log()语句,当我删除它时,错误就消失了。显然,使用此配置,您无法从内部资产调用console.log()。
编辑:好的,经过一些进一步的调试后,当你尝试console.log()一个对象时抛出这个错误,它与日志的来源并不重要。
答案 1 :(得分:0)
好的,我想我已经解决了,问题实际上出在我的utils函数
timeSince
中。我有一个混乱的console.log()语句,当我删除它时,错误消失了。显然,使用此配置,您无法从内部资产调用console.log()。编辑:好的,因此,在进一步调试之后,当您尝试console.log()一个对象时,会抛出此错误,而日志的来源无关紧要。
我希望这可以为这种“错误”的起源提供更多的启示:
您所指的对象实际上是调用的响应,它不喜欢它的大小。它不是任何对象,只是调用中的response
对象。如果您尝试破坏所需零件,那么它将消失