将对象数组显示为[object Object]而不是控制台中的字符串

问题描述 投票:-1回答:2

我不明白为什么会这样我已经手动添加了样本数据,然后稍后再推送一些数据。最终,我想在单位列表中显示数据。请帮助我,这对我的项目非常重要。谢谢代码:

class TasksScreen extends Component {
constructor(props) {
  super(props);

  this.state = {
    tasks: [],
  };
  var tempTasks = [
    {
      key: 'abc',
      val: 'abc',
    },
  ];
  var that = this;

  var taskRef = database()
    .ref('/Tasks/' + auth().currentUser.uid)
    .on('value', dataSnapshot => {
      var key = dataSnapshot.key;
      console.log('UID KEY: ' + key);
      dataSnapshot.forEach(childSnaps => {
        var key = childSnaps.key;
        console.log('TASKID KEY: ' + key);
        childSnaps.forEach(taskData => {
          var taskKey = taskData.key;
          var taskVal = taskData.val();
          console.log('taskData KEY: ' + taskKey);
          console.log('taskData VAL: ' + taskVal);
          console.log('taskData.val().title: ' + taskVal);
          tempTasks.push({
            taskTitle: 'title',
            taskDescription: 'description',
            taskDueTime: 'time',
            taskDuedate: 'date',
          });
        });
      });
      console.log('tempTasks: ' + tempTasks);
      that.setState({tasks: tempTasks});
      console.log('STATE TASKS: ' + that.state.tasks);
    });
}

[This is the terminal log:][1]


[1]: https://i.stack.imgur.com/GZCI7.png
javascript firebase react-native object react-native-flatlist
2个回答
0
投票

由于要连接字符串,因此将调用对象的toString方法,该方法将返回'[Object object]'。您可以用逗号+代替,来分别评估console.log中的每个变量。 :

let object = {
    title: 'test1',
    count: 10
}

// concatenation
console.log('object : ' + object);

// individual evaluation.
console.log('object : ', object);

0
投票

["" + {}将始终以[object object]的形式出现,因此,不要串联值,而应将它们作为单独的参数传递,即console.log('str', object)

let obj = {
  a : '123',
}

console.log("String" + obj)
console.log("String" , obj)
© www.soinside.com 2019 - 2024. All rights reserved.