[英]How can I use my action from redux without mapDispatchtoProps but with useDispatch?
[英]How i can correctly debounce mapDispatchToProps or redux action?
我有 redux 動作:
export const setSearchText = payload => ({
type: SEARCH_ACTION,
payload,
});
並遵循 mapDispatchToPros:
const mapDispatchToProps = dispatch => ({
onChange: (...args) => setSearchText(...args),
});
我怎樣才能去抖動?
const mapDispatchToProps = dispatch => ({
onChange: (...args) =>{
setTimeout(()=>dispatch(setSearchText(...args)),1000);
}
});
這里的去抖時間設置為 1 秒
希望這段代碼有效
onChange: (...args) => debounce(() => dispatch(setSearchText(...args)), 500)
這是去抖 function。
const debounce = (func, wait) => {
let timeout;
return function() {
const context = this;
const args = arguments;
const later = function() {
timeout = null;
func.apply(context, args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.