Taro 项目实战:ToDo 应用 - 页面与逻辑实现
在本节中,你将开始真正动手搭建 ToDo 应用的页面和核心交互逻辑。我们会使用 React 组件的方式,结合 Taro 提供的 API,完成添加、显示、切换状态和删除事项等功能。项目使用 TypeScript 编写,帮助你养成更规范的开发习惯。
项目代码
ToDo 应用示例的完整代码可在 GitHub 获取。
准备工作
首先,通过 Taro CLI 创建了一个项目 todo-app
,项目介绍为“ToDo 应用”。
taro init todo-app
因为这个项目需要运行在微信小程序、H5、React Native 等平台,因此我们需要指定各平台的输出目录。修改 config/index.ts
文件中的 outputRoot
配置项,如下:
config/index.ts
const config = {
outputRoot: `dist/${process.env.TARO_ENV}`,
// 其他配置...
};
尝试编译,确保已经能正常运行 H5 或小程序预览。
npm run dev:h5 # 运行 H5 版本
npm run dev:weapp # 运行微信小程序版本
如果你还没有设置页面路由,可以在 src/app.config.ts
中配置首页:
src/app.config.ts
export default defineAppConfig({
pages: ['pages/index/index'],
window: {
navigationBarTitleText: 'ToDo 应用',
},
});
页面结构设计
我们只需要一个页面(pages/index/index.tsx
)来处理所有交互,因此 UI 设计也保持简洁。
基本布局包含三个部分:
- 输入框 + 添加按钮
- 待办事项列表
- 每项支持点击切换完成状态和删除
定义类型
我们先定义 ToDo 项的数据结构,放在 pages/index/index.tsx
顶部:
interface TodoItem {
id: number;
title: string;
done: boolean;
}