未处理的拒绝(TypeError):Object(...)不是函数

时间:2020-10-14 12:05:50

标签: javascript reactjs react-component

我正在从另一个文件中导入getEstimateSummary数据并进行等待处理,但是在传递sprintDay函数时,当我进入第二个函数时,它向我显示一个对象不是函数,这是我的代码

import React from "react";
import getEstimateSummary from "../../service/requirementService";



const SprintDay = async () => {
  const res = await getEstimateSummary();

  const fliterOut = [
    "Estimated_minutes",
    "To_do_stories",
    "Requirement_complete",
    "Remaining_User_Stories",
    "Original_hours",
    "total_user_stories",
  ];
  console.log("filterDay", fliterOut);

  const keys = Object.keys(res[0]).filter((ele) => !fliterOut.includes(ele));
  console.log("keys day", keys);

  const data = res.map((item) => [
    item.TrackChange,
    ...keys.map((ele) => item[ele]),
  ]);
};

const Second = () => {
  SprintDay();

  return (
    <div className="second">
      <Navbar variant="light" bg="light" border-bottom border-dark>
        <Navbar href="#home">Home/Sprint Requirement</Navbar>
         <Navbar.Collapse id="basic-navbar-nav">
          <Nav className="mr-auto">
            <Button variant="secondary">Track Changes</Button>
            <NavDropdown title="Day"></NavDropdown>
          </Nav>
          <Form inline>
            <Button variant="secondary" className=" mr-sm-2">
              Last Updated: 5 July,2020
            </Button>
            <Button variant="secondary"> Next Refresh: 6 July,2020</Button>
          </Form>
        </Navbar.Collapse>
      </Navbar>
    </div>
  );
};

export default Second;

这是我的需求服务文件

export const getEstimateSummary = async () => {
  try {
    const url = `${apiEndpoint}/EstimateSummary/?token=${token}`;
    const res = await axios.get(url);
    return res.data;
  } catch (err) {
    return err;
  }
};

1 个答案:

答案 0 :(得分:2)

在将函数作为默认导入导入时,您正在使用命名导出。

尝试将导入行更改为

import { getEstimateSummary} from '../../requirementService';

或您的导出行:

export default async () => {
  try {
    const url = `${apiEndpoint}/EstimateSummary/?token=${token}`;
    const res = await axios.get(url);
    return res.data;
  } catch (err) {
    return err;
  }
};