My app renders messages. App fetches messages from API and save it in state. Provide you my component code:
const MessagesScreen = () => {
const [messages, setMessages] = useState([]);
useEffect(() => {
getMessages();
processMessages();
}, []);
async function getMessages() {
try {
let request = {
token: auth,
offset: offset,
limit: limit,
};
const response = await network('my URL API', request);
setMessages([...messages, ...response]); // or even setMessages(response);
console.log(response);// IS NOT EMPTY, FILLED WITH DATA FROM API
console.log(messages); // IS EMPTY [], BUT I JUST CALLED setMessages BEFORE
}
catch (err) {
console.log(err)
}
}
function processMessages() {
console.log(messages); // IS EMPTY [], BUT I NEED TO PROCESS MESSAGES
...
}
return (<FlatList data={messages}/>)
}
As you can see, messages
is empty array everywhere. How can I fix it? Please, help!