React、TypeScript、NodeJS 和 MongoDB 搭建 Todo App
以下是一个简化的React、TypeScript、NodeJS和MongoDB搭配使用的Todo App的核心代码示例。
前端部分(React + TypeScript)
import React, { useState, useEffect } from 'react';
import axios from 'axios';
const App: React.FC = () => {
const [todos, setTodos] = useState([]);
useEffect(() => {
axios.get('/api/todos').then(response => {
setTodos(response.data);
});
}, []);
// ... 其他UI渲染和功能代码
};
export default App;
后端部分(NodeJS + TypeScript)
import express from 'express';
import mongoose from 'mongoose';
const app = express();
const port = 3001;
// 连接MongoDB数据库
mongoose.connect('mongodb://localhost:27017/todos_app', { useNewUrlParser: true });
// 定义Todo模型
const todoSchema = new mongoose.Schema({
name: String,
isCompleted: Boolean
});
const Todo = mongoose.model('Todo', todoSchema);
// 获取所有Todos
app.get('/api/todos', (req, res) => {
Todo.find({}, (err, todos) => {
if (err) {
res.send(err);
} else {
res.json(todos);
}
});
});
// ... 其他API端点处理代码
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
以上代码仅展示了核心功能,实际应用中还需要包含数据库模型、验证器、错误处理等。这个示例旨在展示如何使用React构建前端界面,以及如何使用NodeJS和MongoDB构建后端API。
评论已关闭