>  Q&A  >  본문

특수 이벤트(소켓 IO 메시지)를 보낼 때 모든 Redux RTK 쿼리를 무효화하는 방법은 무엇입니까?

모든 사용자(여러 탭, 여러 사용자)를 위해 SPA React 애플리케이션을 동기화하고 싶습니다. 나는 특정 소켓 IO 메시지를 수신하고 useGetAllEmployeesQuery라는 메시지를 기반으로 상태 변수를 업데이트하는 간단한 반응 후크를 작성했습니다.

으아아아

이 이벤트가 전달되면 간단히 RTK refetch() 메서드를 호출합니다.

으아아아

따라서 애플리케이션의 모든 곳에서 이를 호출해야 합니다. 직원 쿼리를 사용하는 5개의 구성 요소가 있다고 가정하고 모든 구성 요소에서 refetch를 호출해야 합니다. 많은 쿼리는 한 번만 실행하면 실행됩니다. (한번은 무효)

Redux RTK 쿼리 구성에서 이러한 모든 종류의 이벤트를 구독할 수 있나요?

P粉555682718P粉555682718236일 전379

모든 응답(1)나는 대답할 것이다

  • P粉761718546

    P粉7617185462024-01-30 00:12:10

    태그를 무효화하여 구독 쿼리 re쿼리를 실행할 수 있습니다.

    참조 invalidateTags: 수동으로 캐시 태그를 무효화하고 자동으로 다시 가져오는 데 사용할 수 있는 Redux 액션 생성기.

    가정 getAllEmployees 端点提供了一个标签,例如“employees”,您可以调度一个操作来使该标记无效并触发 useGetAllEmployeesQuery 후크를 사용하여 데이터를 다시 가져옵니다.

    으아악 으아악

    UI 코드는 후크, 즉 "employees" 标记传递给 useRefetchOnMessage후크를 호출하기만 하면 됩니다.

    으아악

    회신하다
    0
  • 취소회신하다