Content.tsx 683 B

1234567891011121314151617181920212223
  1. import React, { memo, useContext, useMemo } from 'react';
  2. import { MobileChatContext } from '../';
  3. import ChatDialog from './ChatDialog';
  4. const Content: React.FC = () => {
  5. const { history } = useContext(MobileChatContext);
  6. // 过滤出需要展示的消息
  7. const showMessages = useMemo(() => {
  8. return history.filter(item => ['view', 'human'].includes(item.role));
  9. }, [history]);
  10. return (
  11. <div className='flex flex-col gap-4'>
  12. {!!showMessages.length &&
  13. showMessages.map((message, index) => {
  14. return <ChatDialog key={message.context + index} message={message} index={index} />;
  15. })}
  16. </div>
  17. );
  18. };
  19. export default memo(Content);