react-native-localize-ext
Version:
make i18n in react-native much smoother
30 lines (29 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useI18n = void 0;
var tslib_1 = require("tslib");
var react_1 = require("react");
var utils_1 = require("./utils");
function useI18n() {
var i18nList = [];
for (var _i = 0; _i < arguments.length; _i++) {
i18nList[_i] = arguments[_i];
}
var _a = tslib_1.__read(react_1.useState(function () { return utils_1.getSignatures(i18nList); }), 2), setSign = _a[1];
react_1.useEffect(function () {
var listeners = i18nList.map(function (item, index) {
return item._.listen(function () {
setSign(function (value) {
var data = value.split(utils_1.SPLIT_STR);
data[index] = utils_1.getSignature(item);
return data.join(utils_1.SPLIT_STR);
});
});
});
return function () {
listeners.forEach(function (unListen) { return unListen(); });
};
}, []);
return;
}
exports.useI18n = useI18n;