Я думаю, что ваша проблема в том, что переменные actualRow
и counterDay
не сохраняются для каждой отдельной строки, они указывают на переменные цикла, и в конце цикла они всегда будут равны значениям последнего цикла.
Что вы можете сделать, это сохранить значения для каждой строки в закрытии.
Например, вы можете переписать вашу handleDays
функцию на что-то вроде
handleDays = (actualRow, counterDay) => () => {
alert(actualRow + "-" + counterDay);
};
И вызватьиспользуя это в <td />
как
<td
id={this.state.month + counterDay}
key={this.state.month + counterDay}
onClick={this.handleDays(actualRow, counterDay)}
>
{counterDay}
</td>
Итак, эта конструкция будет вызывать handleDays
с actualRow
и counterDay
переменными в каждом цикле и возвращать новую функцию с переменными, сохраненными в замыкании.
Подробнее о том, как работает доводчик, можно прочитать здесь https://javascript.info/closure