mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-20 23:22:05 +08:00
fix(MinAppPage): use startTransition to avoid synchronously setState in useEffect
fix: Error: Calling setState synchronously within an effect can trigger cascading renders
This commit is contained in:
parent
84f590ec7b
commit
f4441e2a55
@ -7,7 +7,7 @@ import TabsService from '@renderer/services/TabsService'
|
|||||||
import { getWebviewLoaded, onWebviewStateChange, setWebviewLoaded } from '@renderer/utils/webviewStateManager'
|
import { getWebviewLoaded, onWebviewStateChange, setWebviewLoaded } from '@renderer/utils/webviewStateManager'
|
||||||
import { Avatar } from 'antd'
|
import { Avatar } from 'antd'
|
||||||
import { WebviewTag } from 'electron'
|
import { WebviewTag } from 'electron'
|
||||||
import { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
import { FC, startTransition, useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||||
import { useNavigate, useParams } from 'react-router-dom'
|
import { useNavigate, useParams } from 'react-router-dom'
|
||||||
import BeatLoader from 'react-spinners/BeatLoader'
|
import BeatLoader from 'react-spinners/BeatLoader'
|
||||||
import styled from 'styled-components'
|
import styled from 'styled-components'
|
||||||
@ -144,7 +144,10 @@ const MinAppPage: FC = () => {
|
|||||||
if (!app) return
|
if (!app) return
|
||||||
if (getWebviewLoaded(app.id)) {
|
if (getWebviewLoaded(app.id)) {
|
||||||
// 已经加载
|
// 已经加载
|
||||||
if (!isReady) setIsReady(true)
|
if (!isReady)
|
||||||
|
startTransition(() => {
|
||||||
|
setIsReady(true)
|
||||||
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let mounted = true
|
let mounted = true
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user