DB없이 to do를 추가하고 삭제하는 것은 성공해서, DB 연동을 시작했다.
DB 연동은 https://artistjay.tistory.com/27 이 블로그를 참고했다.
expressJS를 사용해서 서버도 만들고, axios.get으로 DB를 불러오는 것도 성공했다.
그런데 이제 나의 고민은 to do가 갱신되어야 할 때 어떻게 해야하느냐 이다.
DB에 저장되어 있는 to do는 App.js에서 아래와 같이 불러와진다.
// todo 배열
const [todos, setTodos] = useState({
todoList: [],
});
useEffect(() => {
async function fetchData() {
const { data } = await axios.get("http://localhost:8000/list", {});
setTodos((todo) => (todo.todoList = data));
}
fetchData();
}, []);
만약 to do가 추가된다던가, 삭제된다던가 하는 상황에서 to do는 자동으로 업데이트되지 않는다.
몇 가지 방안을 생각해보았다.
나는 3번을 선택하기로 했다. 1번은 DB와의 통신이 많고, 2번은 단점에 적은 것처럼 인터넷이 끊어졌을 때와 같은 돌발상황에는 내가 원하는 방식대로 작동하지 않을 것 같기 때문이다.
이게 맞는 방법인지는 모르겠지만, 일단 내가 가진 지식으로는 여기까지밖에 생각하지 못 했다. 더 좋은 방법을 떠올리거나 찾게 된다면 수정하면 되지! 😊