【发布时间】:2020-05-05 05:05:55
【问题描述】:
我正在尝试使用 react-easy-state 库解决以下模式:例如,我有两个包含一个字符串的商店:
filter = store({
search : ""
})
backendFilter = store({
search : ""
})
我希望当我在过滤器中调用对搜索的更改时,它会更改后端过滤器中的值但会去抖动。
我的想法是:
filter = store({
search : "",
setFilter(value) {
filter.search=value;
backendFilter.setBackendSearchString(value);
})
}
backendFilter = store({
search : "",
setBackendSearchString(string) {
debounce(
() => {
backendFilter.search = string;
},
600,
true
)();
},
})
但不幸的是,这不起作用,只是延迟了更改,但是当我在输入上使用 onChange 处理程序来触发 filter.setFilter 时,后端过滤器的更改时间与过滤器一样多,只是有一点延迟。我知道在 React 组件中,问题通常是使用 useCallback ,因为您必须确保您在 denounce 中调用的函数始终相同,但找不到让它在那里工作的解决方案。提前致谢。
【问题讨论】:
标签: javascript reactjs react-easy-state