@chec/react-commercejs-hooks
Version:
ReactJS hooks for using Commerce.js with React projects
25 lines (24 loc) • 1.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var useCommerce_1 = __importDefault(require("../useCommerce"));
var CheckoutProvider_1 = require("./CheckoutProvider");
function useAllCountries() {
var commerce = useCommerce_1.default();
var _a = react_1.useContext(CheckoutProvider_1.CheckoutContext), countries = _a.countries, setCountries = _a.setCountries;
react_1.useEffect(function () {
if (!commerce || countries !== undefined) {
return;
}
// Set an initial value for countries to prevent more than one instance of this hook queuing the same API call
setCountries([]);
commerce.services.localeListCountries().then(function (response) {
setCountries(response.countries);
});
}, [commerce]);
return countries;
}
exports.default = useAllCountries;