refactor(useFiles): 使用useMemo优化扩展名处理逻辑

将扩展名处理逻辑移至useMemo中,避免不必要的重复计算。当props.extensions未提供时默认返回['*']
This commit is contained in:
icarus 2025-08-22 17:37:18 +08:00
parent 32024b3f50
commit 100dc4e500

View File

@ -1,6 +1,6 @@
import { FileMetadata } from '@renderer/types'
import { filterSupportedFiles } from '@renderer/utils'
import { useCallback, useState } from 'react'
import { useCallback, useMemo, useState } from 'react'
import { useTranslation } from 'react-i18next'
type Props = {
@ -8,12 +8,20 @@ type Props = {
extensions?: string[]
}
export const useFiles = ({ extensions }: Props) => {
export const useFiles = (props?: Props) => {
const { t } = useTranslation()
const [files, setFiles] = useState<FileMetadata[]>([])
const [selecting, setSelecting] = useState<boolean>(false)
const extensions = useMemo(() => {
if (props?.extensions) {
return props.extensions
} else {
return ['*']
}
}, [props?.extensions])
const onSelectFile = useCallback(
async (multipleSelections: boolean = true) => {
if (selecting) {