feat: 集成 Redux 状态管理和用户目标管理功能

- 添加 Redux 状态管理,支持用户登录和个人信息的持久化
- 新增目标管理页面,允许用户设置每日卡路里和步数目标
- 更新首页,移除旧的活动展示,改为固定的热点功能卡片
- 修改布局以适应新功能的展示和交互
- 更新依赖,添加 @reduxjs/toolkit 和 react-redux 库以支持状态管理
- 新增 API 服务模块,处理与后端的交互
This commit is contained in:
2025-08-12 22:22:30 +08:00
parent c3d4630801
commit 00ddec25c5
14 changed files with 913 additions and 99 deletions

View File

@@ -1,4 +1,4 @@
import React, { useEffect, useMemo, useRef, useState } from 'react';
import React, { memo, useEffect, useMemo, useRef, useState } from 'react';
import { Animated, Easing, LayoutChangeEvent, StyleSheet, Text, View, ViewStyle } from 'react-native';
type ProgressBarProps = {
@@ -11,7 +11,7 @@ type ProgressBarProps = {
showLabel?: boolean;
};
export function ProgressBar({
function ProgressBarImpl({
progress,
height = 18,
style,
@@ -60,6 +60,18 @@ export function ProgressBar({
);
}
export const ProgressBar = memo(ProgressBarImpl, (prev, next) => {
// 仅在这些关键属性变化时重新渲染,忽略 style 的引用变化
return (
prev.progress === next.progress &&
prev.height === next.height &&
prev.trackColor === next.trackColor &&
prev.fillColor === next.fillColor &&
prev.animated === next.animated &&
prev.showLabel === next.showLabel
);
});
const styles = StyleSheet.create({
container: {
width: '100%',