TaskLoader.tsx 657 B

123456789101112131415161718192021222324
  1. import { useEffect } from "react";
  2. import { get } from "../../request";
  3. import type { ITaskData, ITaskListResponse } from "../../api/task";
  4. interface IWidget {
  5. projectId?: string;
  6. onLoad?: (data: ITaskData[]) => void;
  7. }
  8. const TaskLoader = ({ projectId, onLoad }: IWidget) => {
  9. useEffect(() => {
  10. let url = `/v2/task?a=a`;
  11. if (projectId) {
  12. url += `&view=project&project_id=${projectId}`;
  13. }
  14. console.info("api request", url);
  15. get<ITaskListResponse>(url).then((json) => {
  16. console.debug("api response", json);
  17. onLoad && onLoad(json.data.rows);
  18. });
  19. }, [projectId]);
  20. return <></>;
  21. };
  22. export default TaskLoader;