代码之家  ›  专栏  ›  技术社区  ›  user3095495

如何消除多个可点击按钮的抖动

  •  1
  • user3095495  · 技术社区  · 7 年前

    lodash library 就像这样。。。

    <Button
      onPress={_.debounce(
            () => {
                   navigation.goBack()
                  },
                  500,
                  {
                    leading: true,
                    trailing: false,
                   }
       )}
       title="Back"
    />
    

    issue

    1 回复  |  直到 7 年前
        1
  •  0
  •   Marcel Ray    5 年前

    将去抖动函数的定义从“render”方法中移动,如下所示:

    export default class YourClassName extends Component {
      constructor() {
        super();
    
        this.debouncedOnPressHandler = _.debounce(
          () => { navigation.goBack() },
          500,
          {
            leading: true,
            trailing: false,
          }
        )
      }
    
      render() {
        return (
          <div>
            <Button onPress={this.debouncedOnPressHandler} title="Back A" />
            <Button onPress={this.debouncedOnPressHandler} title="Back B" />
          </div>
        );
      }
    }