woocommerce/plugins/woocommerce-admin/packages/data
Moon 9613c04d31 Add a new store to interact with WC Payments REST APIs (https://github.com/woocommerce/woocommerce-admin/pull/6918)
* Add a new store to interact with WC Payments REST APIs

* Convert to Typescript

* Refactor payments store

* Fixed type on GET_PAYMENT_GATEWAYS_SUCCESS action name

* Added SettingDefinition

* Added PaymentSelectors type

* Updated Array<type> to string[]

* Update action name in test

* Move stub.ts out of test directory

* Set type for the test stub and change order type to number | ""

* Rename action type name

* Add changelog

* Follow _REQUEST _SUCCESS _ERROR action naming

* Add a new action and reducer for getPaymentGateway

* Change store key

* Move to packages/data

* Export store name
2021-05-24 13:29:44 -04:00
..
src Add a new store to interact with WC Payments REST APIs (https://github.com/woocommerce/woocommerce-admin/pull/6918) 2021-05-24 13:29:44 -04:00
.npmrc wp.data Settings refactor 2020-03-25 16:20:17 +13:00
CHANGELOG.md Update package versions for publishing. (https://github.com/woocommerce/woocommerce-admin/pull/6985) 2021-05-13 09:42:04 -06:00
README.md wp.data Settings refactor 2020-03-25 16:20:17 +13:00
package.json Update package versions for publishing. (https://github.com/woocommerce/woocommerce-admin/pull/6985) 2021-05-13 09:42:04 -06:00

README.md

Data

WooCommerce Admin data store and utilities.

Installation

Install the module

npm install @woocommerce/data --save

This package assumes that your code will run in an ES2015+ environment. If you're using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods. Learn more about it in Babel docs.

Usage

import { SETTINGS_STORE_NAME } from '@woocommerce/data';
import { useSelect } from '@wordpress/data';

function MySettings() {
	const settings = useSelect( select => {
		return select( SETTINGS_STORE_NAME ).getSettings();
	} );
	return (
		<ul>
			{ settings.map( setting => (
				<li>{ setting.name }</li>
			) ) }
		</ul>
	);
}

// Rendered in the application:
//
//  <MySettings />