搜索文档
react / built-in-macros
@lynx-js/react 编译插件会处理 __BACKGROUND__ 和 __MAIN_THREAD__ 等内置宏定义。在编译过程中,条件为 false 的代码块会被自动移除。
@lynx-js/react
__BACKGROUND__
__MAIN_THREAD__
false
boolean
以下是 App 组件的示例:
App
import { noop } from 'lodash-es'; import { useEffect } from '@lynx-js/react'; function App() { const showToast = __BACKGROUND__ ? () => { bridge.call('showToast', { message: t('toast'), icon: 'success', }); } : noop; useEffect(showToast, []); return <view />; }
编译后,代码将转换为:
background.js
function App() { const showToast = () => { bridge.call('showToast', { message: t('toast'), icon: 'success', }); }; useEffect(showToast, []); return createSnapshotInstance(__snapshot_5ab440, null, []); }
main-thread.js
function App() { const showToast = noop_default; useEffect(); return createSnapshotInstance(__snapshot_5ab440, null, []); }