Ract-Native Onscreen Calendar не отображает массив дат

Я использую React-Native-Calenders

https://github.com/wix/react-native-calendars

Когда я пытаюсь отобразить дату в календаре из массива, он не показывает значение. Однако, если я использую переменную, это работает. Например:

setCalender(response){

  //Set Variables:
  var tmpStartDate = [];
  var tmpEndDate = [];
  var tmpMidDate = [];
  var diffDays = [];

  //Get the start and end dates:
  for(var i=0; i<response.length; i++){
    tmpStartDate[i] = response[i].date_start;
    tmpEndDate[i] = response[i].date_end;
  }

  //Calculate the time difference:
  for(var i=0; i<tmpStartDate.length; i++){
    var date1 = new Date(tmpStartDate[i]);
    var date2 = new Date(tmpEndDate[i]);
    var timeDiff = Math.abs(date2.getTime() - date1.getTime());
    diffDays[i] = Math.ceil(timeDiff / (1000 * 3600 * 24));
  }

  var TempMidDate = "";
  var tempDate = [];
  for(var i=0; i<diffDays[0]; i++){
    var date = new Date(tmpStartDate[0]);
    tmpMidDate[i] = date.setDate(date.getDate()+i);

    var date1 = new Date(tmpMidDate[i]);
    var tmpDate = [
      date1.getFullYear().toString(),
      (date1.getMonth()+1).toString(),
      date1.getDate().toString(),
    ];
    TempMidDate = tmpDate[0]+"-"+tmpDate[1]+"-"+tmpDate[2]; //Array
    tempDate[i] = TempMidDate;

  }

this.setState({StartDate: tmpStartDate, EndDate: tmpEndDate, TimeP: diffDays, MidDate: tempDate});
}

Вот это с переменной вместо массива:

setCalender(response){

  //Set Variables:
  var tmpStartDate = [];
  var tmpEndDate = [];
  var tmpMidDate = [];
  var diffDays = [];

  //Get the start and end dates:
  for(var i=0; i<response.length; i++){
    tmpStartDate[i] = response[i].date_start;
    tmpEndDate[i] = response[i].date_end;
  }

  //Calculate the time difference:
  for(var i=0; i<tmpStartDate.length; i++){
    var date1 = new Date(tmpStartDate[i]);
    var date2 = new Date(tmpEndDate[i]);
    var timeDiff = Math.abs(date2.getTime() - date1.getTime());
    diffDays[i] = Math.ceil(timeDiff / (1000 * 3600 * 24));
  }

  var TempMidDate = "";
  var tempDate = [];
  for(var i=0; i<diffDays[0]; i++){
    TempMidDate = "2016-02-23"; //Variable
    tempDate[i] = TempMidDate;
  }

this.setState({StartDate: tmpStartDate, EndDate: tmpEndDate, TimeP: diffDays, MidDate: tempDate});
}

Возможно, я упускаю что-то действительно простое, но я не смог разобраться с этим.

0 ответов

Другие вопросы по тегам