我如何在 React 的 class 组件中定义一个方法?

How can I define a method inside a class component in React?

我用 React 做了一个简单的数字时钟。它似乎工作。但是,我想在 setState() 中单独定义回调函数。但是我得到了一个错误。你知道我如何在 componenDidMount 之外定义一个名为 tick() 的函数吗?下面是我的代码

import "./Clock.css";

class Clock extends React.Component {
    state = { date: new Date() };

    componentDidMount() {
        setInterval(() => {
            this.setState({ date: new Date() });
        }, 1000);
        console.log("componentdidmount");
    }

    render() {
        return (
            <div className="clock-container">
                <h1 className="clock">{this.state.date.toLocaleTimeString()}</h1>
            </div>
        );
    }
}

export default Clock;

这就是你想要的样子吗?

tick(){
    this.interval = setInterval(() => {
        this.setState({ date: new Date() });
    }, 1000);
}

componentDidMount() {
    this.tick();
    console.log('componentdidmount');
}

componentWillUnmount(){
    clearInterval(this.interval);
}