我试图理解这里一个例子的片段https://developer.wordpress.org/block-editor/packages/packages-data/ 关于useSelect。
function DisplayTOC(props) {
return ( <ServerSideRender block={props.name} attributes={props.attributes} />);
}
registerBlockType(\'simpletoc/toc\', {
title: __(\'SimpleTOC\', \'simpletoc\'),
icon: simpletocicon,
category: \'layout\',
edit: function(props) {
return (
<p className={props.className}>
<AsyncModeProvider value={ true }>
<DisplayTOC props={props}/>
</AsyncModeProvider>
</p>
)
},
save: props => {
return null;
},
});
因此,我猜测异步方法需要知道何时与useSelect同步。但是在哪里呢?文档中有以下功能:
function BlockCount() {
const count = useSelect( ( select ) => {
return select( \'core/block-editor\' ).getBlockCount()
}, [] );
return count;
}
因此,如果添加了新块,请返回计数。但是这个函数什么时候调用?我将其添加到代码中,但什么都没有发生。