```var data by useState<List<MessageTemplate...
# javascript
p
Copy code
var data by useState<List<MessageTemplateDto>>()

useEffectOnce {
  MainScope().launch{
    data = someSuspendingFetch()
    console.log(data) // undefined?!
  }
}

makeTable(data) // renders table with data
WTF?! Why is
data
right after assigning it
someSuspendingFetch()
undefined
, and yet it renders table with them.
t
It’s
useState
nature 🙂
Performance recommendation - use
Array
instead of
List
useState
delegate - just useful wrapper Standard case:
Copy code
val (count, setCount) = useState(0)

useEffectOnce {
    setCount(1)
    println(count) // 0
    setCount(2)
    println(count) // 0
    setCount { prev -> 2 * prev } // 2 * 2 = 4
    println(count) // 0
}