For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/react/Document.global-events.md.
  • 简体中文
  • @lynx-js/react / global-events

    全局事件

    ReactLynx 提供了一系列全局事件,允许开发者监听并响应应用级别的状态变化。通过 useLynxGlobalEventListener 这个 hook,可以方便地在组件中订阅这些事件。

    onGlobalPropsChanged

    lynx.__globalProps 对象发生变化时,会触发 onGlobalPropsChanged 事件,随后自动触发整个页面的一次重新渲染。 这对于需要响应全局配置(如主题、语言等)变化的组件非常有用。

    因此,onGlobalPropsChanged 事件主要用于处理那些不直接关联UI渲染的副作用,例如数据获取等操作。

    该事件的回调函数不会收到任何参数,可直接通过 lynx.__globalProps 获取最新状态。

    import { useLynxGlobalEventListener } from '@lynx-js/react';
    
    function App() {
      useLynxGlobalEventListener('onGlobalPropsChanged', () => {
        console.log('Global props changed:', lynx.__globalProps);
        // 在这里可以进行数据获取等操作
      });
    
      return <view>...</view>;
    }

    onDataChanged

    initData 被客户端更新时,会触发 onDataChanged 事件。

    useInitData 是一个响应式 hook,当 initData 改变时,它会自动触发组件的重新渲染。 onDataChanged 事件主要用于处理那些不直接关联UI渲染的副作用,例如日志记录、数据上报分析或执行其他命令式操作。

    import { useLynxGlobalEventListener } from '@lynx-js/react';
    
    function DataChangeLogger() {
      useLynxGlobalEventListener('onDataChanged', (data) => {
        console.log('initData changed:', data);
        // 在这里可以进行数据上报等操作
      });
    
      return <view>...</view>;
    }
    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。