Вы можете использовать библиотеку https://github.com/zeit/swr
Вот пример кода, который извлекает данные каждые 3 секунды.
import React from "react"
import useSWR, { SWRConfig } from 'swr'
function Dashboard () {
const { data: events } = useSWR('/api/events')
const { data: projects } = useSWR('/api/projects')
const { data: user } = useSWR('/api/users', { refreshInterval: 0 }) // don't refresh
return(
<div>
{/*Sample rendering */}
{events && events.length > 0 ? (
<div>
Show the event list or a chart.
</div>
): (
<div>No events</div>
)}
</div>
)
}
export default function App () {
return (
<SWRConfig
value={{
refreshInterval: 3000,
fetcher: (url, args) => fetch(url, args).then(res => res.json())
}}
>
<Dashboard />
</SWRConfig>
)
}
На заметку: Возможно, вам следует внедрить что-то вроде Pusher JS или аналогично pu sh данных в браузер. У них есть серверные библиотеки для pu sh данных.