fix: skip access token related state if not necessary

This commit is contained in:
EnixCoda 2021-05-14 09:42:37 +08:00
parent 95a2efb6ac
commit a6884b981d
No known key found for this signature in database
GPG key ID: 0C1A07377913A1DD

View file

@ -13,8 +13,15 @@ export function OAuthWrapper({ children }: React.PropsWithChildren<{}>) {
const running = useGetAccessToken()
const $state = useLoadedContext(SideBarStateContext)
const firstRenderRef = React.useRef(true)
React.useEffect(() => {
$state.onChange(running ? 'getting-access-token' : 'after-getting-access-token')
if (running) {
$state.onChange('getting-access-token')
} else if (firstRenderRef.current) {
firstRenderRef.current = false
} else {
$state.onChange('after-getting-access-token')
}
}, [running])
// block children rendering on the first render if setting token