我的反应组件计时器不起作用

闵谷康

我想将Header组件用作时钟计时器。我希望我的页面每秒渲染一次。我在谷歌搜索中遵循了一些例子。但是,找不到这样的例子。为什么这个tick()功能不起作用?控制台中没有错误。

这是我的第一个代码:

class index extends React.Component<Props, {}> {
constructor({ title }: Props) {
    super({ title });
}

render() {
    return (
        <Layout title={this.props.title}>
            <div className="header"><Header/></div>
            <div className="search-bar"><SearchBar/></div>
            <div className="Footer"><Footer/></div>
        </Layout>
    );
}
}

第二个代码:

class Header extends React.Component<{}, States>{
intervalID: any;
constructor() {
    super({}, {});
    this.state = {
        date: new Date().toLocaleString(),
    } 
    this.tick = this.tick.bind(this);
}

componentDidMount() {
    this.intervalID = setInterval(() => this.tick(), 1000);
}

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

tick() {
    this.setState({
        date: new Date().toLocaleString(),
    })
}

render() {
    return (
        <header>
            <p>Header: {this.state.date}</p>
        </header>
    );
}
}

export default Header;

此代码(Node.js 路由器)调用First页面。App使用“express-react-view”作为其视图引擎。

import { Request, Response }  from "express";

/**
* Get /
* Home page.
* @param req 
* @param res 
*/
export let index = (req: Request, res: Response) => {
   res.render("index", {"title": "React, Front-end"})
};
波浪线

你在做服务器端渲染(就是这样做的express-react-view),这意味着你的 React 组件的生命周期钩子不会被调用。

因此,componentDidMount()不会调用间隔触发器 on 这篇文章很好地解释了为什么会这样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

角度计时器在我的应用中不起作用

来自分类Dev

为什么我的Java计时器不起作用?

来自分类Dev

JavaScript计时器不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

秒表(计时器)不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

角度测试-如果计时器处于组件初始化中,则刻度不起作用

来自分类Dev

我正在尝试创建一个倒数计时器,但是它不起作用

来自分类Dev

使用JavaScript设计计时器时,为什么我的暂停按钮不起作用?

来自分类Dev

C#计时器不起作用?

来自分类Dev

C#计时器不起作用

来自分类Dev

Android SDK计时器不起作用

来自分类Dev

倒数计时器onTick方法不起作用

来自分类Dev

快速无效计时器不起作用

来自分类Dev

计时器间隔不起作用的Javascript

来自分类Dev

计时器onReceive在NavigationView中不起作用

来自分类Dev

每年计时器不起作用

来自分类Dev

子线程中的计时器不起作用

来自分类Dev

计时器在Android Eclipse中不起作用

来自分类Dev

NSTimer [计时器无效]不起作用

来自分类Dev

Esper 模式计时器:interval() 不起作用

来自分类Dev

为什么此Visual Studio计时器组件在设计时起作用?

来自分类Dev

我找不到在React中暂停倒数计时器的方法(Clear Interval似乎不起作用)

来自分类Dev

python 3.4,计时器倒计时不起作用

来自分类Dev

python 3.4,计时器倒计时不起作用

来自分类Dev

EJB3计时器在Wildfly服务器中不起作用