Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 返回此.tick()的原因。反应教程_Reactjs - Fatal编程技术网

Reactjs 返回此.tick()的原因。反应教程

Reactjs 返回此.tick()的原因。反应教程,reactjs,Reactjs,我对web开发比较陌生,目前正在学习Reactjs 我的问题是关于这个代码。这可以在React.js网站上找到,具体如下: 我想知道为什么必须返回这个.tick()。而不仅仅是setInterval(this.tick(),1000)。我尝试了这个,当然没有成功。好的,根据,第一个参数应该是一个函数。这回答了我的问题 所以,这就是为什么当我试图写作时: componentDidMount() { this.timerID = setInterval(this.tick, 1000);

我对web开发比较陌生,目前正在学习Reactjs

我的问题是关于这个代码。这可以在React.js网站上找到,具体如下:

我想知道为什么必须返回
这个.tick()
。而不仅仅是
setInterval(this.tick(),1000)
。我尝试了这个,当然没有成功。

好的,根据,第一个参数应该是一个
函数。这回答了我的问题

所以,这就是为什么当我试图写作时:

componentDidMount() {
    this.timerID = setInterval(this.tick, 1000);
  }
它不起作用

但是当我像这样绑定它时

class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.tick = this.tick.bind(this);

它成功了。

您是否尝试过:
setInterval(this.tick,1000)
是,它显示类型errorsetInterval需要一个函数作为第一个参数。如果您将this.tick()作为参数添加,则会立即运行tick函数,因为括号中有。因此,您的第一个参数将是tick方法返回的任何值,很可能是void。
class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.tick = this.tick.bind(this);