Skip to content

Commit 23ffaeb

Browse files
committed
chore(website/NavbarVersionsSelector): update "useEffect" usage to not pass a async function
implement it like it is recommended in the react docs: https://react.dev/reference/react/useEffect#fetching-data-with-effects
1 parent a0e01a7 commit 23ffaeb

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

website/src/components/NavbarVersionsSelector.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@ function getVersions(props) {
4545
const baseUrl = '/mongodb-memory-server/';
4646
const [versions, setVersions] = useState([]);
4747

48-
useEffect(async () => {
48+
useEffect(() => {
49+
let ignore = false;
4950
const current_version = props.label;
50-
const versions = await fetch('/mongodb-memory-server/versions.json')
51+
52+
fetch('/mongodb-memory-server/versions.json')
5153
.then((v) => v.json())
5254
.catch((err) => {
5355
console.log('json fetch errored, using default', err);
@@ -66,9 +68,16 @@ function getVersions(props) {
6668
return {
6769
[current_version]: '',
6870
};
71+
})
72+
.then((versions) => {
73+
if (!ignore) {
74+
setVersions(Object.entries(versions).map(([key, path]) => [key, baseUrl + path]));
75+
}
6976
});
7077

71-
setVersions(Object.entries(versions).map(([key, path]) => [key, baseUrl + path]));
78+
return () => {
79+
ignore = true;
80+
};
7281
}, []);
7382

7483
return versions;

0 commit comments

Comments
 (0)