# Whatis the meaning of the double question mark when we are getting data from the future builder

**URL:** <https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886>\
**Category:** Flutter Apprentice\
**Created:** [October 19, 2021, 2:21pm UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886 "2021-10-19T14:21:36Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sheldoni](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/sheldoni/32/81494_2.png) [@sheldoni](https://forums.kodeco.com/u/sheldoni)\
**Post date:** [October 19, 2021, 2:21pm UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/1 "2021-10-19T14:21:36Z")

</div>

![question](https://files.chunter.kodeco.com/original/3X/2/1/2159b91c1afab80e41cbb1bef731f6f2887fe404.png)  
Someone to explain to me the logic behind the double question marks when we are getting data from our future to build the grid view.

---

<div class="post-metadata">

**Author:** ![jomoka](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jomoka/32/109828_2.png) [@jomoka](https://forums.kodeco.com/u/jomoka)\
**Post date:** [October 19, 2021, 2:38pm UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/2 "2021-10-19T14:38:10Z")

</div>

@sheldoni the double question marks operator means **if null**

So if snapshot.data is null, return an empty list.

---

<div class="post-metadata">

**Author:** ![jefff9511](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jefff9511/32/102075_2.png) [@jefff9511](https://forums.kodeco.com/u/jefff9511)\
**Post date:** [October 19, 2021, 3:30pm UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/3 "2021-10-19T15:30:03Z")

</div>

A more complete answer is that the recipes parameter gets snapshot.data. However, the ?? signifies that if snapshot.data is null, use whatever follows the ?? … in this case a null list … []

---

<div class="post-metadata">

**Author:** ![sheldoni](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/sheldoni/32/81494_2.png) [@sheldoni](https://forums.kodeco.com/u/sheldoni)\
**Post date:** [October 19, 2021, 5:19pm UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/4 "2021-10-19T17:19:48Z")

</div>

okay, one more question that is a little bit irrelevant. When we are building the list for our posts, i can think of how i will display the data types defines(“profileImageUrl”, “comment”, “foodPictureUrl”,“timestamp”) but how will i use the post id, i fail to see it’s usefulness?

---

<div class="post-metadata">

**Author:** ![funkyboy](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/funkyboy/32/109099_2.png) [@funkyboy](https://forums.kodeco.com/u/funkyboy)\
**Post date:** [October 19, 2021, 5:57pm UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/5 "2021-10-19T17:57:57Z")

</div>

You will use it in later chapters, when you’ll store data locally via sqlite.

---

<div class="post-metadata">

**Author:** ![jomoka](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jomoka/32/109828_2.png) [@jomoka](https://forums.kodeco.com/u/jomoka)\
**Post date:** [October 20, 2021, 2:38am UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/6 "2021-10-20T02:38:21Z")

</div>

@sheldoni the post id is not used in this chapter, but here’s an example of when the post id would be useful.

Let say you have a list of posts similar to Facebook. You can edit or delete your post. You can use the postId as the widget’s `Key`. The key is important to preserve state when moving in your widget tree. For example when you delete a post, which post will you delete or without knowing the key?

---

<div class="post-metadata">

**Author:** ![jefff9511](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jefff9511/32/102075_2.png) [@jefff9511](https://forums.kodeco.com/u/jefff9511)\
**Post date:** [October 20, 2021, 9:45am UTC](https://forums.kodeco.com/t/whatis-the-meaning-of-the-double-question-mark-when-we-are-getting-data-from-the-future-builder/153886/7 "2021-10-20T09:45:56Z")

</div>

@sheldoni … in all my other programming projects going back to the 1970’s, I always made it a practice to put in some sort of unique ID in any system I built … even if I didn’t need one at the time. Because, invariably, I found I needed one. If there wasn’t one at the beginning of the project, I would be tempted to try to figure out work-arounds to not having one … work-arounds that were never quite right. So, it’s just better to build them into every single data structure.

Later on in this course, I suspect we’ll use the uuid package to generate unique IDs.
