1. axios를 설치한 후 import한다.
npm i axios
import axios from "axios";
2. 버튼에 event handler를 등록하고, 그 안에서 axios로 http 요청을 보낸다.
// event handler
const handleAdd = async () => {
await axios.post("https://react-todo-server-donghwan.koyeb.app/add", {
task,
});
const result = await axios.get(
"https://react-todo-server-donghwan.koyeb.app/get"
);
console.log(result);
setTodos(result.data);
inputRef.current.value = "";
inputRef.current.focus();
};
// todo form
<div className="create_form">
<input
type="text"
placeholder="Enter task"
ref={inputRef}
onChange={(e) => setTask(e.target.value)}
/>
<button onClick={handleAdd}>Add</button>
</div>
// API 내용
app.get("/get", async (req, res) => {
const todos = await Todo.find({});
console.log("/get 호출");
console.log(todos);
res.json(todos);
});
app.post("/add", async (req, res) => {
const task = req.body.task;
const todos = await Todo.create({ task: task });
console.log("/add 호출");
console.log(todos);
res.json(todos);
});
3. server에서 cors를 설치한 후 미들웨어를 사용한다.
npm i cors
const cors = require("cors");
app.use(cors());
'Front-end > React' 카테고리의 다른 글
Zustand 사용 (0) | 2024.04.04 |
---|---|
useRef 사용법 (0) | 2024.03.28 |