I have this class ``` package com.redrield.fronten...
# javascript
r
I have this class
Copy code
package com.redrield.frontend.components

import com.redrield.common.TeamData
import com.redrield.frontend.loading
import react.*
import react.dom.div

class ListLogsComponent : RComponent<RProps, ListState>() {
    private var mounted = false

    override fun RBuilder.render(): ReactElement? = div(classes = "teams") {
        loading(state.teams ?: state.fetchError) {
            val err = state.fetchError
            if(err != null) {
                div {
                    +(err.message ?: "Internal server error")
                }
            }

            div(classes = "col-lg-12") {
                val teams = state.teams!!
                for (team in teams) {
                    child(LogComponent::class) {
                        attrs {
                            this.team = team
                        }
                    }
                }
//                +"wip"
            }
        }
    }


    override fun componentDidMount() {
        mounted = true
        loadData()
    }

    private fun loadData() {
        setState {
            async {
                try {
                    teams = fetchLogs()
                } catch(e: Exception) {
                    fetchError = e
                }
            }.then {
                state.teams?.forEach(::println)
                println(state.fetchError)
            }
        }
    }

    private suspend fun fetchLogs(): List<TeamData> {
        val res = httpGet("/logs", "")
        println(res)

        return JSON.parse(res)
    }
}

interface ListState : RState {
    var teams: List<TeamData>?
    var fetchError: Throwable?
}