@remax/framework-shared
Version:
使用真正的 React 构建跨平台小程序
38 lines (37 loc) • 1.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAppEvent = exports.usePageInstance = exports.useComponentInstance = exports.usePageEvent = void 0;
var react_1 = require("react");
var lifecycle_1 = require("./lifecycle");
var PageInstanceContext_1 = __importDefault(require("./PageInstanceContext"));
var ComponentInstanceContext_1 = __importDefault(require("./ComponentInstanceContext"));
var AppInstanceContext_1 = __importDefault(require("./AppInstanceContext"));
function usePageEvent(eventName, callback) {
var pageInstance = react_1.useContext(PageInstanceContext_1.default);
var lifeCycle = lifecycle_1.lifeCycleName(eventName);
react_1.useLayoutEffect(function () {
return lifecycle_1.registerLifecycle(pageInstance, lifeCycle, callback);
});
}
exports.usePageEvent = usePageEvent;
function useComponentInstance() {
return react_1.useContext(ComponentInstanceContext_1.default);
}
exports.useComponentInstance = useComponentInstance;
function usePageInstance() {
return react_1.useContext(PageInstanceContext_1.default);
}
exports.usePageInstance = usePageInstance;
/**
* App Hooks
*/
function useAppEvent(eventName, callback) {
var lifeCycle = lifecycle_1.lifeCycleName(eventName);
react_1.useLayoutEffect(function () {
return lifecycle_1.registerLifecycle(AppInstanceContext_1.default, lifeCycle, callback);
});
}
exports.useAppEvent = useAppEvent;