fix: mutate at the same time may be wrong
This commit is contained in:
parent
8738fa3d4f
commit
aa29e185e4
@ -1,4 +1,4 @@
|
|||||||
import { useState } from "react";
|
import { useRef, useState } from "react";
|
||||||
import useSWR, { useSWRConfig } from "swr";
|
import useSWR, { useSWRConfig } from "swr";
|
||||||
import { Box, Button, Grid, TextField, Typography } from "@mui/material";
|
import { Box, Button, Grid, TextField, Typography } from "@mui/material";
|
||||||
import {
|
import {
|
||||||
@ -28,13 +28,19 @@ const RulesPage = () => {
|
|||||||
.finally(() => setDisabled(false));
|
.finally(() => setDisabled(false));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const lockRef = useRef(false);
|
||||||
const onProfileChange = (index: number) => {
|
const onProfileChange = (index: number) => {
|
||||||
|
if (lockRef.current) return;
|
||||||
|
lockRef.current = true;
|
||||||
putProfiles(index)
|
putProfiles(index)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
mutate("getProfiles", { ...profiles, current: index }, true);
|
mutate("getProfiles", { ...profiles, current: index }, true);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
lockRef.current = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user