728x90
반응형
[App.jsx]
import { useEffect, useState } from 'react';
import './App.css';
import axios from 'axios';
function App() {
const [todos, setTodos] = useState(null);
const [inputValue, setInputValue] = useState({
//id : json의 방식의 데이터는 자동으로 입력됨
title: '',
});
const fetchTodos = async () => {
const { data } = await axios.get('http://localhost:4002/todos');
console.log('data', data);
setTodos(data);
};
useEffect(() => {
fetchTodos();
}, []);
return (
<>
<div>
{/* input 영역 */}
<form>
<input
type="text"
value={inputValue.title}
onChange={(e) => {
setInputValue(e.target.value);
}}
></input>
<button>추가</button>
</form>
</div>
[원인]
<input>태그에 입력하는대로 데이터를 넣는 상황에서,
(1) setInputValue(데이터)를 넣을때 오류 발생
(2) 데이터의 초기값은 객체임 { title: ''}
(3) <input>태그의 value도 {inputValue.title} 값으로 넣어주고있음
[해결]
setInputValue 부분도 객체로 변경해주면 됨
<input
type="text"
value={inputValue.title}
onChange={(e) => {
setInpuValue({ title: e.target.value });
}}
></input>
끝.
반응형
'React' 카테고리의 다른 글
리액트 오류 : Too many re-renders. React limits the number of renders to prevent an infinite loop. (0) | 2023.11.29 |
---|---|
[리액트 심화] 비동기통신 Axios interceptor (0) | 2023.11.28 |
[리액트 심화] 비동기통신 Axios 사용방법 (GET 메소드 사용) (0) | 2023.11.28 |
리액트 오류 : Uncaught TypeError: Cannot read properties of null (reading 'map') / 옵셔널체이닝으로 해결 가능 (1) | 2023.11.28 |
[리액트 심화] HTTP 통신 / URL 구성 (1) | 2023.11.28 |