- 前端(Web应用,使用React)
TodoApp.js (React组件)fengbaoshun.com
jsx
import React, { useState } from ‘react’;
function TodoApp() {
const [todos, setTodos] = useState([]);
const [newTodo, setNewTodo] = useState(‘’);
const handleSubmit = (event) => {
event.preventDefault();
if (newTodo.trim() !== ‘’) {
setTodos([…todos, { id: Date.now(), text: newTodo, completed: false }]);
setNewTodo(‘’);
}
};
const handleChange = (event) => {
setNewTodo(event.target.value);
};
return (
Add Todo
{todos.map((todo) => (
- {todo.text}
))}
);
}
export default TodoApp;
2. 后端(Node.js + Express,用于API服务)
server.js (Node.js + Express)
javascript
const express = require(‘express’);
const app = express();
const port = 3001;
// 假设我们使用内存来存储待办事项(实际开发中应使用数据库)
let todos = [];
app.use(express.json());
app.get(‘/todos’, (req, res) => {
res.json(todos);
});
app.po