From 441bf95cef590d87585e558f95ebf93bee1a26a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D1=82=D1=8C=D1=8F=D0=BD=D0=B0=20=D0=90=D0=BD?= =?UTF-8?q?=D0=B4=D1=80=D0=B5=D0=B5=D0=B2=D0=B0?= Date: Fri, 17 Jan 2025 16:53:40 +0400 Subject: [PATCH] add . --- frontend/src/api/chatApi.js | 15 --------------- frontend/src/init.jsx | 9 +++++++++ 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/frontend/src/api/chatApi.js b/frontend/src/api/chatApi.js index 5a1ba7c..3ac41e2 100644 --- a/frontend/src/api/chatApi.js +++ b/frontend/src/api/chatApi.js @@ -1,7 +1,4 @@ import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; -import { io } from 'socket.io-client'; - -const socket = io(); export const chatApi = createApi({ reducerPath: 'chatApi', @@ -46,18 +43,6 @@ export const chatApi = createApi({ }), getMessages: builder.query({ // Сообщения query: () => '/messages', - onCacheEntryAdded: async ( event, { updateCachedData, cacheDataLoaded, cacheEntryRemoved }) => { - await cacheDataLoaded; - console.log(cacheDataLoaded); - const listener = () => { - if (event === 'addMessage') { - updateCachedData((draft) => draft.push(data)); - } - }; - socket.on('addMessage', listener); - await cacheEntryRemoved; - socket.close(); - }, providesTags: ['Messages'], }), addMessage: builder.mutation ({ diff --git a/frontend/src/init.jsx b/frontend/src/init.jsx index 065b7e3..ba25164 100644 --- a/frontend/src/init.jsx +++ b/frontend/src/init.jsx @@ -1,9 +1,11 @@ import i18next from 'i18next'; +import { io } from 'socket.io-client'; import { initReactI18next } from 'react-i18next'; import { Provider } from 'react-redux'; import store from './store/index.js'; import App from './App.jsx'; import resources from './locales/index.js'; +import { useGetMessagesQuery } from './api/chatApi.js'; const init = async () => { const i18n = i18next.createInstance(); @@ -18,6 +20,13 @@ const init = async () => { } }); +const socket = io(); +const { data: messages = []} = useGetMessagesQuery(); +socket.on('newMessage', (payload) => { + console.log(payload) + messages.push(payload); +}); + return (