/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
packages/data/src/components/async-mode-provider/context.ts
44 строки
1 KB
Marco Ciampini
ESLint: Replace strict config with bulk suppressions (#81248)
07 авг 2026, 14:34
Не верифицирован
07 авг 2026, 14:34
7f43eaf
Код
Авторство
О чём код?
import { createContext } from '@wordpress/element'; export const Context = createContext( false ); Context.displayName = 'AsyncModeContext'; const { Consumer, Provider } = Context; export const AsyncModeConsumer = Consumer; /** * Context Provider Component used to switch the data module component rerendering * between Sync and Async modes. * * @example * * ```js * import { useSelect, AsyncModeProvider } from '@wordpress/data'; * import { store as blockEditorStore } from '@wordpress/block-editor'; * * function BlockCount() { * const count = useSelect( ( select ) => { * return select( blockEditorStore ).getBlockCount() * }, [] ); * * return count; * } * * function App() { * return ( * <AsyncModeProvider value={ true }> * <BlockCount /> * </AsyncModeProvider> * ); * } * ``` * * In this example, the BlockCount component is rerendered asynchronously. * It means if a more critical task is being performed (like typing in an input), * the rerendering is delayed until the browser becomes IDLE. * It is possible to nest multiple levels of AsyncModeProvider to fine-tune the rendering behavior. * * @param {boolean} props.value Enable Async Mode. */ export default Provider;