UNPKG

@remax/framework-shared

Version:

使用真正的 React 构建跨平台小程序

28 lines (27 loc) 974 B
import { useLayoutEffect, useContext } from 'react'; import { lifeCycleName, registerLifecycle } from './lifecycle'; import PageInstanceContext from './PageInstanceContext'; import ComponentInstanceContext from './ComponentInstanceContext'; import AppInstanceContext from './AppInstanceContext'; export function usePageEvent(eventName, callback) { var pageInstance = useContext(PageInstanceContext); var lifeCycle = lifeCycleName(eventName); useLayoutEffect(function () { return registerLifecycle(pageInstance, lifeCycle, callback); }); } export function useComponentInstance() { return useContext(ComponentInstanceContext); } export function usePageInstance() { return useContext(PageInstanceContext); } /** * App Hooks */ export function useAppEvent(eventName, callback) { var lifeCycle = lifeCycleName(eventName); useLayoutEffect(function () { return registerLifecycle(AppInstanceContext, lifeCycle, callback); }); }