Что вы подразумеваете под "Я не хочу приносить списки валют много раз, всего один раз"
FutureBuilder - это один из способов сделать это. Он будет отображать виджет после заполнения listCurrencies .
Другой способ - использовать троичный оператор
listCurrencies != null ? (widget using listcurrencies) : (a progress indicator)
Редактировать:
Также вы должны установить listCurrencies, используя
setState((){
listCurrencies = val;
})