Вы устанавливаете его в состояние до выполнения асинхронной функции.
_loadImages = () => {
const imageArray = []
var storage = Firebase.storage
var storageRef = storage.ref()
var listRef = storageRef.child("images/")
listRef.listAll().then((res) => {
res.items.map((itemRef) => {
var urlFB = itemRef.name
var getPictureURL = 'images/'.concat(urlFB)
var starsRef = storageRef.child(getPictureURL)
starsRef.getDownloadURL().then((url) => {
imageArray.push(url)
this.setState({ imageArray })
})
})
})
}
Или с помощью async/await
,
_loadImages = async () => {
const imageArray = []
const storage = Firebase.storage
const storageRef = storage.ref()
const listRef = storageRef.child("images/")
const list = await listRef.listAll();
list.items.map((itemRef) => {
var urlFB = itemRef.name
var getPictureURL = 'images/' + urlFB;
var starsRef = storageRef.child(getPictureURL)
const url = starsRef.getDownloadURL();
imageArray.push(url);
});
this.setState({ imageArray });
}