@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 许可协议进行许可。