무지성으로 컴포넌트 두개...
let today = new Date();
let year = today.getFullYear();
let month = today.getMonth() + 1;
let date = today.getDate();
let day = today.getDay();
const weekday = ['일','월','화','수','목','금','토'];
return (
<div>
<h1>{year}년 {month}월 {date}일</h1>
<h2>{weekday[day]}요일</h2>
</div>
);
CREATE, DELETE 만 있어서 두 개만 구현함.
const onCreate = (e) => {
var newTodos= [...todos];
newTodos.push({ text:e.target.value, active:false});
if(e.key=='Enter'){
setTodos(newTodos);
// setInputValue(''); (오류) 첫 입력후 inputValue값이 null로 고정됨
}
}
const onRemove = (e) => {
setTodos(todos.filter(todo => todos.indexOf(todo) !== Number(e.target.id)));
}
const undoneTasks= useMemo(() => {
return todos.filter((todo) => !todo.done).length
},[todos]);
TypeError : items.map is not a function.
newItems += e.target.value;
newItems.push(e.target.value);
setItems(prev => [...prev+e.target.value])
하면 글자 하나씩 배열에 들어감 JSX expressions must have one parent element
typeof(e.target.id) = string typeof(items.indexOf(item)) = number
items.indexOf(item) !== Number(e.target.id)
<input value={item} type="checkbox" key={index} />
<input id={index} type="checkbox" />
<li type="checkbox" key={index} style={{display:"inline-block"}} >{item}</li>
Objects are not valid as a React child 에러 처리
item
, 데이터 타입은 Object
)객체를 그대로 렌더링 하려고 했기 때문에 에러가 발생하였다.Object
데이터를 그대로 렌더링 하려고 했기 때문에 에러가 발생한 것이다.input
에 type="checkbox" value={items[index].text}
했는데 화면에 value값 표현되지 않음