Я пытаюсь инициализировать три функции как состояние в конструкторе, чтобы получить значения из этих функций и получить эти значения в состоянии перед первым рендерингом.Однако одна из функций имеет переменную, зависящую от значения предыдущей функции, и поэтому я получаю сообщение об ошибке.
Как бы я решил эту проблему?Код ниже!
Файл App.js
import React from "react";
import Calendar from "./Calendar"
function App() {
return (
<div>
<Calendar />
</div>
)
}
export default App;
Файл Calendar.js
import React from "react";
class Calendar extends React.Component {
constructor() {
super();
this.state = {
//curLastDate() is dependent on lastDayOfMonth()
lastDayOfMonth: this.storeLastDate(),
currentLastDate: this.curLastDate()
}
}
/*
Stores the last date of all months of the current year
Format: [ ["Thu", "Jan", "31", "2019]... ]
*/
storeLastDate() {
let date,
string,
lastDate,
list = [];
date = new Date();
for (let i = 1; i < 13; i++) {
lastDate = new Date(date.getFullYear(), i, 0);
string = lastDate.toDateString().split(" ");
list.push(string);
}
return list;
}
/*
Finds the matching month of current date
*/
curLastDate() {
for (let i = 0; i < this.state.lastDayOfMonth.length; i++) {
if (this.state.currentDate[1] === this.state.lastDayOfMonth[i][1]) {
console.log(this.state.lastDayOfMonth[i][1]);
return this.state.lastDayOfMonth[i][1];
}
}
}
render() {
return (
null
)
}
}
export default Calendar;
В конечном счете, я хочу инициализировать значения, полученные из функций, до состояния перед Reactимеет свой первый рендер.Заранее спасибо за помощь!