There is a request to Firebase, using then I add new elements to the array. If you output console.log, then there are elements, but lenght = 0 and loops do not work.
export const useLastMessageDialogs = (messagesStatus: StatusDialogType): UserMessageType[] => {
  const messages: string[] = [];
  useEffect(() => {
    const querySideDialogs = query(
      collection(firestoreDb, 'questions'),
      where('status', '==', messagesStatus)
    );
    onSnapshot(querySideDialogs, (dialogs) => {
      dialogs.docChanges().forEach((dialog) => {
        getDocs(
          query(
            collection(firestoreDb, 'questions', dialog.doc.id, 'messages'),
            orderBy('timestamp', 'desc'),
            limit(1)
          )
        ).then((response) => {
          response.forEach((message) => {
            messages.push('bebebe');
          });
        });
      });
    });
  }, [messagesStatus]);
  console.log(messages); // [0: "bebebe", 1: "bebebe" length: 2]
  console.log(messages.length); // 0
  return [];
};
