繁体   English   中英

如何使用 axios 从 json 获取数据? (反应)

[英]How can I get data from json with axios? (React)

我正在尝试获取此 JSON 数据

 {

    ID                string `json:"id"`
    Amount            int    `json:"amount"`
    Month             string `json:"month"`
    PayFailed         bool   `json:"pay_failed"`
}

我是这样写代码的。

但我认为这段代码无法获取数据。 我做了 console.log() 但什么也没出现。 所以我不知道如何检查以成功获取数据。

const Pay = props => {
  const { user, month,} = props;

  const classes = useStyles();

  const [Pay, setPay] = useState([]);

  useEffect(() => {

   axios
    .get(https://test)
    .then(res => {
      setPay(res.data);
    })
    .catch(err => {
      alert("error");
    });

  }, [user]);

  return (
    <Table className={classes.table}>
      <TableHead>
        <TableRow>
          <TableCell >date of pay</TableCell>
          <TableCell >amont</TableCell>
          <TableCell >pay</TableCell>
        </TableRow>
      </TableHead>
      <TableBody>
        {
          Pay.filter(pay => pay.month === month).map(pay => (
            pay.data.map((pay, index) => (
              <TableRow key={index}>
                <TableCell>{pay.DeletedAt}</TableCell>
                <TableCell>{pay.amount}</TableCell>
                <TableCell>{pay.pay_failed}</TableCell>
              </TableRow>
            )
          )))
        }
      </TableBody>
    </Table>
  );
};

export default PayDone;


有谁知道如何获得它?

你能分享一些更详细的信息吗? 就像您有任何错误或最终数据的样子一样,因为我们无法访问确切的 API。 setPay(res.data);之前添加一个 console.log setPay(res.data); 看看它返回什么。

虽然在你的情况下并不重要,但你为什么要做嵌套地图? 在您的 JSON 架构中,没有对象字段。 相反,所有都是原子值。

Pay.filter(pay => pay.month === month).map((pay, index) => (
          <TableRow key={index}>
            <TableCell>{pay.DeletedAt}</TableCell>
            <TableCell>{pay.amount}</TableCell>
            <TableCell>{pay.pay_failed}</TableCell>
          </TableRow>
        ))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM