Я нашел этот отличный метод в Stackoverflow для преобразования длительности из ss в hh.mm.ss, и я попытался вызвать его в разделе render () страницы.Много попыток, но пока не удачных.Я думаю, что я что-то упустил в синтаксисе функции стрелки, но не могу узнать, что.
Это метод, который я немного отредактировал для своей цели:
formatTime(duration) {
d = Number(duration);
var h = Math.floor(d / 3600);
var m = Math.floor(d % 3600 / 60);
var s = Math.floor(d % 3600 % 60);
var hDisplay = h > 0 ? h + (h == 1 ? " hour, " : " hours, ") : "";
var mDisplay = m > 0 ? m + (m == 1 ? " minute, " : " minutes, ") : "";
var sDisplay = s > 0 ? s + (s == 1 ? " second" : " seconds") : "";
return hDisplay + mDisplay + sDisplay;
}
И это мой render()
раздел, где я хотел бы назвать formatTime()
, передавая song.duration
какаргумент метода ( полный код здесь ):
render() {
return (
//[...]
<td {() => this.formatTime(song.duration)}>
{formatTime(song.duration)} </td>
//[...]
}