class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {
date: new Date()
};
setInterval(() => {
this.setState({
date: new Date()
});
}, 1000);
}
render() {
return (
<div>
<h1>Hello, world!</h1>
<h2>It is {this.state.date.toLocaleTimeString()}</h2>
</div>
);
}
}
const root = document.getElementById("root");
ReactDOM.render(
<Clock />,
root
)
여기서 state를 수정하고싶은데
객체 통째로밖에 수정을 못함?
클래스방식으로 쓰면 그럼
함수형으로 전환 ㅇㅇ
일단 언마운트 할떄 clearInterval 해주셔야하는것도 있고
그것은 componentWillMount인가 그걸 써야하는거아님?
정확히 어캐하고싶냐에따라 답변이 달라지겟지만 setState에 상태에따른 재 랜더링이 포함되있어서 아마 안될거임
쓰는건 쓰는건데 clearInterval 안해주면 재 랜더링시마다 타이머 개속돌고 setState도니까
아 그리고 클래스를 컴포넌트로 쓴다는것도 좀 그럼.. 클래스라고 하길래 객체싸개인줄 알았더니 함수랑 결과가 똑같은것도 이상함..