perf(logs): skip unnecessary filtering work

This commit is contained in:
Tunglies
2026-11-13 09:55:00 +08:00
parent bbb0a0267f
commit 3cfef4a990
+8 -11
View File
@@ -39,21 +39,18 @@ const LogPage = () => {
return []
}
// Server-side filtering handles level filtering via query parameters
// We only need to apply search filtering here
const hasSearch = searchState.text.length > 0
if (!hasSearch && logState === 'all') return logData
return logData.filter((data) => {
// 构建完整的搜索文本,包含时间、类型和内容
if (logState !== 'all' && !data.type.includes(logState)) return false
if (!hasSearch) return true
const searchText =
`${data.time || ''} ${data.type} ${data.payload}`.toLowerCase()
const matchesSearch = match(searchText)
return (
(logState == 'all' ? true : data.type.includes(logState)) &&
matchesSearch
)
return match(searchText)
})
}, [logData, logState, match])
}, [logData, logState, match, searchState.text])
const filteredLogs = useMemo(
() => (isDescending ? [...filterLogs].reverse() : filterLogs),