使自定义商店的解析无效

问题描述 投票:0回答:1

我正在尝试清除古腾堡块的存储,并以一定间隔强制每 15 秒获取一次 API。

这就是我获取数据的方式:

const data = useSelect(
    (select) => select( CUSTOM_STORE ).getMyData(id),
    [id]
);

像这样使用

setInterval
使我的
CUSTOM_STORE
无效

useEffect(() => {
    
    setInterval(() => {         
        invalidateResolutionForStoreSelector( CUSTOM_STORE );           
    }, 15000);

}, []);

现在可以了,但它清除了整个

CUSTOM_STORE
(显然)

如何才能使给定的数据无效

id

invalidateResolutionForStoreSelector( CUSTOM_STORE, id )
做是行不通的。

reactjs wordpress-gutenberg gutenberg-blocks
1个回答
0
投票

在您所描述的场景中,我会尝试在

CUSTOM_STORE
之外实现您的
@wordpress/data
,就像文档中的
customStore()
示例一样。然后,您可以使用
subscribe()
(如 Redux 订阅)来监听状态更改,而不是尝试每 15 秒使存储失效。

或者,您可以尝试:

wp.data.dispatch('core').invalidateResolution(CUSTOM_STORE, [id]);
如果无效是你想要的方式..

© www.soinside.com 2019 - 2024. All rights reserved.