P粉7446912052023-08-28 00:00:43
就良好的编码实践而言,你应该避免在JSX中放置过多的业务逻辑。只需将你的onClick
处理程序提取到JSX之外即可。
其次,你不希望在防抖后返回saveForm
。而是调用它。所以用saveForm
替换() => saveForm
。
function saveForm() { //在这里执行操作 } const debouncedClickHandler = debounce(saveForm, 1500, {maxWait: 2000}) <Button onClick={debouncedClickHandler}>保存</Button>
你还可以使用useCallback
钩子。如果需要,我把使用useCallback
钩子的最佳实践留给你去探索。