- WordPress (последняя версия) используется в качестве CMS
- Gutenberg включен
- Пользовательский интерфейс React использует WP REST API
- Используются современные инструменты (Vite / Webpack / Node 20+)
Пример:
import { createRoot } from "react-dom/client";
import App из "./App";
constContainer = document.getElementById("app");
const root = createRoot(container);
root.render();
Но WordPress уже загружает React через пакеты Gutenberg:
@wordpress/element
@wordpress/components
Это вызывает несколько проблем:
- Возможны дублированные экземпляры React
- Дублирование размера пакета
- Несогласованность привязок/состояний
- Время сборки и время выполнения разрешение зависимостей
- Следует ли мне полагаться на @wordpress/element вместо прямой установки React?
- Безопасно ли использовать функции React 18/19 (например, createRoot) внутри плагинов/тем WordPress?
- Какой подход рекомендуется в 2025 году для:
- React внутри блоков Gutenberg
- React внутри плагинов администратора
- React frontend в headless WP
- Следует пометить React как внешний зависимость в Webpack/Vite при использовании внутри WordPress?
- Существуют ли ограничения блокировки версий между ядром WordPress и React?
"react": "^18.3.0",
"react-dom": "^18.3.0",
"@wordpress/element": "^5.x"
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... dependency
Мобильная версия