feat: 集成 Redux 状态管理和用户目标管理功能
- 添加 Redux 状态管理,支持用户登录和个人信息的持久化 - 新增目标管理页面,允许用户设置每日卡路里和步数目标 - 更新首页,移除旧的活动展示,改为固定的热点功能卡片 - 修改布局以适应新功能的展示和交互 - 更新依赖,添加 @reduxjs/toolkit 和 react-redux 库以支持状态管理 - 新增 API 服务模块,处理与后端的交互
This commit is contained in:
@@ -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%',
|
||||
|
||||
Reference in New Issue
Block a user