pref: UI优化

This commit is contained in:
zdl
2025-11-06 11:35:10 +08:00
parent 116594d9b1
commit 5ff8db8899
4 changed files with 31 additions and 38 deletions

View File

@@ -198,11 +198,14 @@ const DynamicNewsCard = forwardRef(({
// 初始加载 - 只在组件首次挂载且对应模式数据为空时执行
useEffect(() => {
// 添加防抖:如果已经初始化,不再执行
if (hasInitialized.current) return;
const isDataEmpty = currentMode === 'vertical'
? Object.keys(allCachedEventsByPage || {}).length === 0
: (allCachedEvents?.length || 0) === 0;
if (!hasInitialized.current && isDataEmpty) {
if (isDataEmpty) {
hasInitialized.current = true;
dispatch(fetchDynamicNews({
mode: mode, // 传递当前模式
@@ -213,7 +216,7 @@ const DynamicNewsCard = forwardRef(({
page: PAGINATION_CONFIG.INITIAL_PAGE, // 然后覆盖 page 参数
}));
}
}, [dispatch, allCachedEventsByPage, allCachedEvents, currentMode, mode, pageSize]); // 移除 filters 依赖,避免重复触发
}, [dispatch, currentMode, mode, pageSize]); // 移除 allCachedEventsByPage, allCachedEvents 依赖,避免数据更新触发重复请求
// 监听筛选条件变化 - 清空缓存并重新请求数据
useEffect(() => {
@@ -383,10 +386,8 @@ const DynamicNewsCard = forwardRef(({
totalPages={totalPages}
onPageChange={handlePageChange}
loading={loadingPage !== null}
loadingPage={loadingPage}
error={error}
mode={mode}
onModeChange={handleModeToggle}
eventFollowStatus={eventFollowStatus}
onToggleFollow={handleToggleFollow}
hasMore={hasMore}