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 = () => (
);
return (
Receiver Component
}
>
{message ? : }
);
}
const EventBusDemo = () => {
return (
Event Bus Example: Sibling Communication
);
};
export default EventBusDemo;