当前位置: 首页 > 面试题库 >

React Native:使用lodash防抖

百里诚
2023-03-14
问题内容

我在玩React Native和lodash的反跳。

使用以下代码只会使其工作像延迟,而不是去抖动。

<Input
 onChangeText={(text) => {
  _.debounce(()=> console.log("debouncing"), 2000)()
 }
/>

如果我输入“ foo”之类的信息,我希望控制台仅记录一次反跳操作。现在,它记录了3次“反跳”。


问题答案:

防反跳函数应该在render方法之外的某个地方定义,因为每次调用它时都必须引用该函数的同一个实例,这与创建新实例相反,就像现在将其放入onChangeText处理程序函数时那样。

定义反跳功能的最常见位置是在组件对象上。这是一个例子:

class MyComponent extends React.Component {
  constructor() {
    this.onChangeTextDelayed = _.debounce(this.onChangeText, 2000);
  }

  onChangeText(text) {
    console.log("debouncing");
  }

  render() {
    return <Input onChangeText={this.onChangeTextDelayed} />
  }
}


 类似资料:
  • 新建一个React Native工程,参考React Native 官网 react-native init hello cd hello yarn add baidumobstat-react-native react-native link 进入新建的目录,打开ios目录下的hello.xcodeproj工程,在iOS工程的Linked Frameworks and Libr

  • 本文向大家介绍ReactNative Image组件使用详解,包括了ReactNative Image组件使用详解的使用技巧和注意事项,需要的朋友参考一下 最近学习ReactNative感觉到挺有意思的,在学习的过程中,发现网上一些人写的文章内容过时了,这主要是ReactNative的版本升级太快,如果你现在看一篇16甚至15年写的文章,把知识点和官方文档对比下,会让你大跌眼镜。所以奉劝各位想学习

  • 使用 react native 和 socket.io 开发的模仿微信聊天的 app,后台使用 node 和 moogodb,目前还在开发中。 已完成的功能 登录 注册 通讯录 两人文字聊天 下拉获取聊天历史记录 未读消息提示 正在开发的功能 朋友圈 多人聊天 用户管理 系统设置 语音聊天 发送图片 效果展示     

  • 更改历史 * 2017-12-2 高天阳 增加示例 * 2017-11-12 戈德斯文 增加类比内容,更改页面格式 * 2017-9-25 张飞 更改图片路径 * 2017-9-1 申海东 初始化文档 1. 历史、现状和发展 1.1 什么是lodash lodash库是一个具有一致接口、模块化、高性能等特性的 J

  • lodash 是一个 JavaScript 实用工具库,提供一致性,及模块化、性能和配件等功能。 Lodash 消除了处理数组的麻烦,从而简化了 JavaScript、 数字、对象、字符串等。 它的模块化方法非常适合: 迭代数组,对象和字符串 操作和测试值 创建复合功能

  • 本文向大家介绍在vue+element ui框架里实现lodash的debounce防抖,包括了在vue+element ui框架里实现lodash的debounce防抖的使用技巧和注意事项,需要的朋友参考一下 事情起因在:我使用element ui框架里的远程搜索框,在单选时,组件内部已经做了防抖,query是在一段时间内的字符串。但是在多选时,并没有做防抖,而是每输入一个字符都要向后台发一次请