Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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
Javascript 在SetTimeout中包装几个函数_Javascript_Reactjs - Fatal编程技术网

Javascript 在SetTimeout中包装几个函数

Javascript 在SetTimeout中包装几个函数,javascript,reactjs,Javascript,Reactjs,考虑 onClick={() => {funcOne(); prop.funcTwo();}} 我想将这些函数包装在setTimeout函数中,setTimeout函数是从另一个文件导入组件的 delay (...func) { return setTimeout(() => func, 1000); } 但我在控制台中遇到一个错误: 预期onClick listener是一个函数,但得到的是数字类型的值 我怎样才能把它包好 PS:我的示例是使用R

考虑

onClick={() => {funcOne(); prop.funcTwo();}}
我想将这些函数包装在setTimeout函数中,setTimeout函数是从另一个文件导入组件的

   delay (...func) {
       return setTimeout(() => func, 1000);

    } 
但我在控制台中遇到一个错误:

预期onClick listener是一个函数,但得到的是数字类型的值

我怎样才能把它包好


PS:我的示例是使用React with Hooks

您可以更改延迟函数的实现,使其返回函数而不是timerId

  delay (func, delay) {
      return () => setTimeout(func, delay);
  } 
然后像下面那样使用它

onClick={delay(() => {funcOne(); prop.funcTwo();}, 1000)}

你是如何使用delay function@Shubham Khatri的?它只是将执行延迟n毫秒如果我正确理解你希望这两个函数在onClick事件延迟后执行。是的,你是对的,如果我除了函数之外还有其他参数要传递呢?你可以将参数传递给delay function,请确保第一个参数是函数Shubham Khatri,谢谢