I'm new to react. I want to create a counter using setState and setInterval. I don't want to put react.dom render in an interval because I know it's not a good-practice. This is my effort so far:
class Counter extends React.Component {
state = {
counter: 0
}
increment = () => {
setInterval(() => {
this.setState({
counter: this.state.counter+1});
}, 1000);
};
render() {
return <div>
<p>{this.state.counter}</p>
</div>;
}
}
const el = <Counter />;
ReactDOM.render(
el, document.getElementById('root')
);
I have also try it this way:
class Counter extends React.Component {
state = {
counter: 0
}
increment = () => {
this.setState({
counter: this.state.counter+1});
};
render() {
return <div>
<p>{this.state.counter}</p>
</div>;
}
}
setInterval(Counter.increment, 100)
const el = <Counter />;
ReactDOM.render(
el, document.getElementById('root')
);
None of them worked. What is the problem?