Я не могу заставить время на моем веб-сайте Kotlin-JS React обновляться каждую секунду?
У меня проблема: время на моей веб-странице KotlinJS React не обновляется, пока она не будет перезагружена. Как правильно перезагрузить данные через заданный интервал?
import csstype.*
import emotion.react.css
import kotlinx.js.timers.setInterval
import react.FC
import react.Props
import react.ReactNode
import react.dom.html.InputType
import react.dom.html.ReactHTML
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.input
import react.dom.html.ReactHTML.time
import react.useState
import kotlin.js.Date
import kotlin.time.Duration.Companion
import kotlin.time.Duration.Companion.seconds
external interface TitleProp : Props {
var name: String
var timeString: String
}
val Title = FC<TitleProp> { props ->
var currentTime by useState(props.timeString)
var name by useState(props.name)
div {
css {
padding = 10.px
backgroundColor = rgb(8, 47, 97)
color = rgb(56, 246, 137)
display = Display.flex
flexDirection = FlexDirection.row
justifyContent = JustifyContent.spaceBetween
alignItems = AlignItems.flexStart
gap = 10.px
position = Position.absolute
height = 60.px
left = 0.pct
right = 0.pct
top = 0.px
}
div {
css {
//width = 133.px
//height = 77.px
fontFamily = FontFamily.sansSerif
fontStyle = FontStyle.normal
fontWeight = FontWeight.bold
fontSize = 40.px
lineHeight = 55.px
}
+"$name Information Hub"
}
div {
css {
fontWeight = FontWeight.bold
fontSize = 32.px
lineHeight = 39.px
}
+ currentTime
}
}
setInterval(1.seconds){
currentTime = Date().toLocaleTimeString("en-US")
}
}
Я попробовал использоватьsetInterval
, как в Javascript, он может что-то повторно запустить, но не меняет время на странице. Я думаю, что он меняет текст, показывающий время, но страница не регистрирует страницу после первого раза. Я тоже не могу распечатать,print
,println
, иconsole.log
все не работает, поэтому отладка становится затруднительной. Для KotlinJS React документации нет.