Skip to content

Commit 18fd53a

Browse files
committed
[grid] Stop polling when component is unmounted (UI)
1 parent 1d0e131 commit 18fd53a

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

javascript/grid-ui/src/screens/Overview/Overview.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,16 @@ export default function Overview() {
3838
const classes = useStyles();
3939
const fixedHeightPaper = clsx(classes.paper, classes.fixedHeight);
4040

41-
const {loading, error, data} = useQuery(NODES_QUERY,
42-
{pollInterval: GridConfig.status.xhrPollingIntervalMillis, fetchPolicy: "network-only"});
41+
const {loading, error, data, stopPolling, startPolling} = useQuery(NODES_QUERY,
42+
{fetchPolicy: "network-only"});
43+
44+
React.useEffect(() => {
45+
startPolling(GridConfig.status.xhrPollingIntervalMillis);
46+
return () => {
47+
stopPolling();
48+
};
49+
});
50+
4351
if (loading) {
4452
return (
4553
<Grid container spacing={3}>

javascript/grid-ui/src/screens/Sessions/Sessions.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,16 @@ const GRID_SESSIONS_QUERY = loader("../../graphql/sessions.gql");
1414

1515
export default function Sessions() {
1616

17-
const {loading, error, data} = useQuery(GRID_SESSIONS_QUERY,
18-
{pollInterval: GridConfig.status.xhrPollingIntervalMillis, fetchPolicy: "network-only"});
17+
const {loading, error, data, stopPolling, startPolling} = useQuery(GRID_SESSIONS_QUERY,
18+
{fetchPolicy: "network-only"});
19+
20+
React.useEffect(() => {
21+
startPolling(GridConfig.status.xhrPollingIntervalMillis);
22+
return () => {
23+
stopPolling();
24+
};
25+
});
26+
1927
if (loading) {
2028
return (
2129
<Grid container spacing={3}>

0 commit comments

Comments
 (0)