Обычный чат. При отправке сообщения с одного телефона, слушаю сокеты на другом, после получения срабатывает хук и заносится сообщение в промежуточный useState newData, который слушается во втором хуке.
При первой отправке, сообщение заносится, но при второй useEffect хоть и срабатывает, но не добавляет сообщение в общий массив сообщений. Что может быть не так?
Никаких ошибок на стороне сервера и получении данных нет.
const [data, setData] = useState([]);
const [newData, setNewData] = useState({});
useEffect(() => {
//Функция где выводится socket.on(... и добавляется в промежуточный useState новое сообщение
getChatOn().then((item: any) => {
setNewData(item)
});
}, [])
//Хук при обновлении useState добавляет новое сообщение в общий массив чата
useEffect(() => {
setData([...data, newData])
}, [newData])