React状态比useRef()落后一步



我特别尝试使用useRef,这似乎不工作,因为我的变量落后一步。我做错了什么吗?

编辑:它实际上不工作在第一次尝试(按钮点击:selectSession_Click),之后它的工作原理。为什么不是第一次打电话?

const seqnumRead = useRef(0);
const seqnumWrite = useRef(0);
// Click a session, bring up detail
const selectSession_Click = (event, sessionId) => {
const selectedData = data;
let selSession = selectedData?.filter(s => s.SessionId == sessionId);
SetSessionSelected(selSession[0]);
refetch();
seqnumRead.current = result.payload.read_seqnum;
seqnumWrite.current = result.payload.write_seqnum;
}
// Fetch seq nums of selected session
const queryKey = 'getData';
const { data: result, isFetching, refetch, } = useQuery([queryKey], fetchSeqNums, {
refetchOnWindowFocus: false,
enabled: false,
});

seqnumRead,seqnumWrite比

落后一步

我通过使用result.payload解决了这个问题。直接在渲染中读取_seqnum

最新更新