import { useEmit, useOn } from '@sa/hooks'; const { Text, Title } = ATypography; // Sender 组件:负责发送消息 function Sender() { const emit = useEmit(); const sendMessage = () => { emit('message', 'Hello from Sender!', new Date().toLocaleTimeString()); }; return ( Sender Component } > } size="large" type="primary" onClick={sendMessage} > Send Message ); } // Receiver 组件:负责接收消息 function Receiver() { const [message, setMessage] = useState(''); const [time, setTime] = useState(''); useOn('message', (msg: string, timestamp: string) => { setMessage(msg); setTime(timestamp); }); const MessageDisplay = () => (
Message: {message} Received at: {time}
); const EmptyMessage = () => (
No message received.
); return ( Receiver Component } > {message ? : } ); } const EventBusDemo = () => { return ( Event Bus Example: Sibling Communication ); }; export default EventBusDemo;