SentAttachment.tsx 919 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { useEffect, useState } from "react";
  2. import type {
  3. IResAttachmentData,
  4. IResAttachmentListResponse,
  5. } from "../../../api/Attachments";
  6. import { get } from "../../../request";
  7. interface IWidget {
  8. sentenceId?: string;
  9. }
  10. const SentAttachment = ({ sentenceId }: IWidget) => {
  11. const [Attachments, setAttachments] = useState<IResAttachmentData[]>();
  12. useEffect(() => {
  13. if (!sentenceId) {
  14. return;
  15. }
  16. const url = `/v2/sentence-attachment?view=sentence&id=${sentenceId}`;
  17. console.debug("api request", url);
  18. get<IResAttachmentListResponse>(url).then((json) => {
  19. console.debug("api response", json);
  20. if (json.ok) {
  21. setAttachments(json.data.rows);
  22. }
  23. });
  24. }, [sentenceId]);
  25. return (
  26. <>
  27. {Attachments?.map((item, id) => {
  28. return <img key={id} src={item.attachment.url} alt="img" />;
  29. })}
  30. </>
  31. );
  32. };
  33. export default SentAttachment;