A spread operátor alapvetően arra jó, hogy egyszerre több értéket adjunk hozzá valamilyen lista típusú adatszerkezethez.
Egyszerű példa
var list = [1, 2, 3];
var list2 = [0, ...list];
Az új lista (list2) értékei: 0, 1, 2, 3 lesz.
Volt tehát egy listánk (list), ami három egész számot tartalmazott. Ezt a listát a spread operátorral adtuk hozzá a második listához (list2). A spread operátor egyúttal szét is dobta egyéni elemekre az első listában levő elemeket.
Komplexebb példa
Természetesen vannak jóval bonyolultabb listák is, melyek mondjuk widgeteket tartalmaznak, ahogyan ebben a korábbi bejegyzésben is, amit a map metódusról írtam.
Ez a lista:
currentQuestion.answers.map((answer) {
return AnswerButton(answerText: answer, onTap: () {});
})
Ezt akarjuk a spread operátorral egyéni (vesszővel elválasztott) elemekre bontani:
...currentQuestion.answers.map((answer) {
return AnswerButton(answerText: answer, onTap: () {});
})
A megoldás a spread (…) operátor használata.