对象作为React子对象无效

时间:2017-01-12 03:17:49

标签: react-native

我收到以下错误。我可以看到我必须返回数组而不是对象。但我真的不确定如何解决它。提前致谢

  

对象作为React子对象无效。如果你打算渲染一个   子集合,使用数组或使用包装对象   来自React附加组件的createFragment(对象)。检查渲染方法   var browserBookmarks = require('browser-bookmarks'); var express = require('express'); var app = express(); var port = process.env.PORT || 8080; app.get('/', function(req,res) { browserBookmarks.getChrome().then(function(bookmarks){ var n = bookmarks.length; var ind = Math.floor(Math.random() * n); var url = bookmarks[ind].url; res.redirect(url); }).catch(function (e) { console.log("Promise Rejected: " + e); }); }); app.listen(port, function() { console.log('Shuffle App listening on port' + port); });

View

3 个答案:

答案 0 :(得分:45)

timeElapsed是一个对象,React不知道如何渲染它:

  <View style={[styles.timerContainer, this.borderColor('#ff6666')]}>
    {this.state.timeElapsed}
  </View>

尝试更改this.state.timeElapsed以获取字符串,例如:

  <View style={[styles.timerContainer, this.borderColor('#ff6666')]}>
    {this.state.timeElapsed.toString()}
  </View>

答案 1 :(得分:1)

<Note note={
 <p>{(new Date(updated_at)).toString()}</p>
} />

在这种情况下,Note是我的子组件,我已按上述方式通过日期,它对我有效。

<强>输出 Pass date to React Child

答案 2 :(得分:0)

  • 简短而简单的是使用JSON.stringify()
  • 因为this.state.timeElapsed是对象。对象无法以常规方式打印。因此,我们需要在JSON.stringify()中渲染该对象。它转换为JSON形式。

  • 尝试一下,对我有用

{JSON.stringify(this.state.timeElapsed)}