- 配置 TailwindCSS 支持小程序开发
- 安装 tailwindcss, postcss, autoprefixer
- 安装 weapp-tailwindcss 插件支持小程序
- 配置 tailwind.config.js 和 postcss.config.js
- 更新 Taro 配置支持 TailwindCSS
- 从 Zustand 迁移到 Redux Toolkit
- 移除 zustand 依赖
- 安装 redux, react-redux, redux-thunk, @reduxjs/toolkit
- 重构状态管理架构:
- src/constants/ - Action 类型常量
- src/actions/ - Action creators 和异步 actions
- src/reducers/ - Reducers
- src/selectors/ - 状态选择器
- src/hooks/redux.ts - 类型化 hooks
- 更新组件使用新的 Redux API
- 保持数据持久化功能
- 更新应用配置
- 将 app.ts 重命名为 app.tsx 支持 JSX
- 添加 Redux Provider 到应用根组件
- 更新 TODO.md 标记完成状态
- 构建验证通过,所有功能正常
16 lines
648 B
TypeScript
16 lines
648 B
TypeScript
import { RootState } from '../store'
|
|
import { Template } from '../store/types'
|
|
|
|
// Template selectors
|
|
export const selectTemplates = (state: RootState): Template[] =>
|
|
state.template.templates
|
|
|
|
export const selectSelectedTemplate = (state: RootState): Template | null =>
|
|
state.template.selectedTemplate
|
|
|
|
export const selectTemplateById = (state: RootState, id: string): Template | undefined =>
|
|
state.template.templates.find(template => template.id === id)
|
|
|
|
export const selectTemplatesByType = (state: RootState, type: 'image-to-image' | 'image-to-video'): Template[] =>
|
|
state.template.templates.filter(template => template.type === type)
|