Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 不使用React Redux应用程序进行去抖动_Javascript_Reactjs_Redux_Lodash - Fatal编程技术网

Javascript 不使用React Redux应用程序进行去抖动

Javascript 不使用React Redux应用程序进行去抖动,javascript,reactjs,redux,lodash,Javascript,Reactjs,Redux,Lodash,我正在构建一个函数,该函数在keypress上执行API请求,但我希望这一点不被宣布 这当前不起作用,并产生一个错误:lodash.js:10319未捕获类型错误:需要一个函数 这里是一个带有控制台日志而不是异步请求的代码段,这也不起作用 import React from 'react'; const _ = require('lodash'); const method = () => { return _.debounce(testFunc(), 3000); }; co

我正在构建一个函数,该函数在keypress上执行API请求,但我希望这一点不被宣布

这当前不起作用,并产生一个错误:
lodash.js:10319未捕获类型错误:需要一个函数

这里是一个带有控制台日志而不是异步请求的代码段,这也不起作用

import React from 'react';
const _ = require('lodash');

const method = () => {
    return _.debounce(testFunc(), 3000);
};

const testFunc = () => {
    console.log('echo echo test test');
};


const SearchBox = ({ onTypingSearch, searchTerm }) => (
    <form>
        <p>Search: {searchTerm}</p>
        <input
            onChange={(e) => {
                console.log(e.target.value);                
                onTypingSearch(e.target.value);
                console.log(method);
                method();
            }}
                value={searchTerm}
        />
  </form>
);

export default SearchBox;
从“React”导入React;
const=require('lodash');
常量方法=()=>{
返回u.debounce(testFunc(),3000);
};
常量testFunc=()=>{
控制台日志(“回波测试”);
};
常量搜索框=({onTypingSearch,searchTerm})=>(
搜索:{searchTerm}

{ console.log(如target.value); onTypingSearch(如target.value); console.log(方法); 方法(); }} 值={searchTerm} /> ); 导出默认搜索框;
您必须解除该函数的抖动,而不是调用它的结果:

这:

为此:

const method = () => {
    return _.debounce(testFunc, 3000);
};
更新:

按照您的设置方式,
方法
返回一个取消公告的函数。因此调用
method()
将返回一个函数。然后您必须调用它:
method()()

最好这样做:

const method = _.debounce(() => {
    return testFunc();
}, 3000);
如果您想要args:

const method = _.debounce((e) => {
    return testFunc(e);
}, 3000);

然后,您可以继续以当前的方式调用:
method()

您必须解除该函数的抖动,而不是调用它的结果:

这:

为此:

const method = () => {
    return _.debounce(testFunc, 3000);
};
更新:

按照您的设置方式,
方法
返回一个取消公告的函数。因此调用
method()
将返回一个函数。然后您必须调用它:
method()()

最好这样做:

const method = _.debounce(() => {
    return testFunc();
}, 3000);
如果您想要args:

const method = _.debounce((e) => {
    return testFunc(e);
}, 3000);

然后,您可以继续按当前的方式调用:
method()

我尝试过,但我的函数没有执行?如果需要,您如何将参数传递给函数?从:
调用func,并使用提供给取消公告的函数的最后一个参数
非常感谢,从另一个函数声明函数对meI来说有点陌生,但是我的函数没有执行?如果需要,您将如何将参数传递给函数?从:
调用func,并使用提供给取消声明函数的最后参数
非常感谢,从另一个函数声明函数对我来说有点陌生