CRNA,genymotion,世博奇怪的错误

时间:2018-03-19 13:53:26

标签: react-native genymotion expo

我正在使用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的问题。

2 个答案:

答案 0 :(得分:11)

好吧我想我解决了,问题实际上是在我的utils函数timeSince中。我有一个迷失的console.log()语句,当我删除它时,错误就消失了。显然,使用此配置,您无法从内部资产调用console.log()。

编辑:好的,经过一些进一步的调试后,当你尝试console.log()一个对象时抛出这个错误,它与日志的来源并不重要。

答案 1 :(得分:0)

  

好的,我想我已经解决了,问题实际上出在我的utils函数timeSince中。我有一个混乱的console.log()语句,当我删除它时,错误消失了。显然,使用此配置,您无法从内部资产调用console.log()。

     

编辑:好的,因此,在进一步调试之后,当您尝试console.log()一个对象时,会抛出此错误,而日志的来源无关紧要。

我希望这可以为这种“错误”的起源提供更多的启示:

您所指的对象实际上是调用的响应,它不喜欢它的大小。它不是任何对象,只是调用中的response对象。如果您尝试破坏所需零件,那么它将消失