{"id":5684,"date":"2026-02-12T20:45:06","date_gmt":"2026-02-13T01:45:06","guid":{"rendered":"https:\/\/chubes.net\/?documentation=wordpress-data"},"modified":"2026-03-13T03:28:40","modified_gmt":"2026-03-13T07:28:40","slug":"wordpress-data","status":"publish","type":"documentation","link":"https:\/\/chubes.net\/docs\/wordpress-core\/js-packages\/wordpress-data\/","title":{"rendered":"@wordpress\/data"},"content":{"rendered":"<p>State management for WordPress applications. Provides a registry of stores with actions, selectors, resolvers, and controls.<\/p><h2 class=\"wp-block-heading\">Core Concepts<\/h2><ul class=\"wp-block-list\"><li><strong>Store<\/strong>: A named namespace with reducers, actions, selectors, controls, and resolvers.<\/li><li><strong>Selectors<\/strong>: Read state (sync or async via resolvers).<\/li><li><strong>Actions<\/strong>: Dispatch state changes or control side effects.<\/li><li><strong>Resolvers<\/strong>: Async data resolution tied to selectors.<\/li><li><strong>Registry<\/strong>: Holds multiple stores and exposes select\/dispatch.<\/li><\/ul><h2 class=\"wp-block-heading\">Key APIs<\/h2><h3 class=\"wp-block-heading\"><code>createReduxStore( storeName, config )<\/code><\/h3><p>Creates a store definition that can be registered.<\/p><ul class=\"wp-block-list\"><li><code>storeName<\/code> <code>string<\/code><\/li><li><code>config<\/code> <code>object<\/code><ul class=\"wp-block-list\"><li><code>reducer( state, action )<\/code><\/li><li><code>actions<\/code>: action creators<\/li><li><code>selectors<\/code>: selector functions<\/li><li><code>controls<\/code>: generator action handlers<\/li><li><code>resolvers<\/code>: selector resolvers<\/li><li><code>initialState<\/code><\/li><\/ul><\/li><\/ul><h3 class=\"wp-block-heading\"><code>registerStore( storeName, config )<\/code><\/h3><p>Registers a store directly into the default registry. Returns a store descriptor.<\/p><h3 class=\"wp-block-heading\"><code>select( storeName )<\/code><\/h3><p>Returns the selectors for a store.<\/p><h3 class=\"wp-block-heading\"><code>dispatch( storeName )<\/code><\/h3><p>Returns the action creators for a store.<\/p><h3 class=\"wp-block-heading\"><code>useSelect( mapSelect, deps? )<\/code><\/h3><p>React hook to access selectors.<\/p><ul class=\"wp-block-list\"><li><code>reducer( state, action )<\/code><\/li><li><code>actions<\/code>: action creators<\/li><li><code>selectors<\/code>: selector functions<\/li><li><code>controls<\/code>: generator action handlers<\/li><li><code>resolvers<\/code>: selector resolvers<\/li><li><code>initialState<\/code><\/li><\/ul><h3 class=\"wp-block-heading\"><code>useDispatch( storeName? )<\/code><\/h3><p>React hook to get action creators from a store. If no store name, returns <code>dispatch<\/code> function for custom usage.<\/p><h3 class=\"wp-block-heading\"><code>subscribe( listener )<\/code><\/h3><p>Subscribes to registry changes. Returns unsubscribe function.<\/p><h3 class=\"wp-block-heading\"><code>createRegistry()<\/code> \/ <code>createRegistryControl<\/code><\/h3><p>Create isolated registries and custom controls for advanced data flow.<\/p><h2 class=\"wp-block-heading\">Store Shape (Config)<\/h2><ul class=\"wp-block-list\"><li><code>reducer( state, action )<\/code><\/li><li><code>actions<\/code>: action creators<\/li><li><code>selectors<\/code>: selector functions<\/li><li><code>controls<\/code>: generator action handlers<\/li><li><code>resolvers<\/code>: selector resolvers<\/li><li><code>initialState<\/code><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>State management for WordPress applications. Provides a registry of stores with actions, selectors, resolvers, and controls. Core Concepts Store: A named namespace with reducers, actions, selectors, controls, and resolvers. Selectors:&#8230;<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"footnotes":""},"tags":[],"project":[634],"project_type":[749],"class_list":["post-5684","documentation","type-documentation","status-publish","hentry","project-js-packages","project_type-wordpress-reference"],"project_info":{"id":589,"name":"WordPress Core","slug":"wordpress-core"},"project_type_info":{"id":749,"name":"WordPress Reference","slug":"wordpress-reference"},"_links":{"self":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/5684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/types\/documentation"}],"version-history":[{"count":2,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/5684\/revisions"}],"predecessor-version":[{"id":7733,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/5684\/revisions\/7733"}],"wp:attachment":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/media?parent=5684"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/tags?post=5684"},{"taxonomy":"project","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/project?post=5684"},{"taxonomy":"project_type","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/project_type?post=5684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}