首页 > 解决方案 > 类型错误:customers.map 不是函数

问题描述

我有这个问题,有人可以帮助我吗?TypeError:customers.map 不是函数。我一直这样使用它,我从来没有遇到任何问题。它关于数据集成。基本上就是这样,请任何人都可以帮助我吗?

import React, { useState, useEffect } from "react";
import { List, Card } from "antd";
import { data } from "../../../mocks/customers";
import { DeleteCustomerButton } from "@components/atoms/DeleteCustomerButton";
import { CustomersEditButton } from "@components/atoms/CustomersEditButton";
import { useContext } from "../../../contexts/context";

const { Meta } = Card;

const CustomersCardList: React.FC = () => {
    const customers: any = useContext();

    return (
        <div>
            {customers.map((customer, key) => { })}</div>)
}

//context.tsx

import * as React from 'react';
import axios from 'axios';

export const AccountContext = React.createContext({});

export const useContext = () => React.useContext(AccountContext);

interface AccounterContextProviderProps {
    value: any
};

export const AccounterContextProvider: React.FC<AccounterContextProviderProps> = ({ children, value }) => {

    const [customers, setCustomers] = React.useState<any>([]);

    React.useEffect(() => {
        const getCustomers = async () => {
            const result = await axios.get("http://localhost:3333/customers");
            setCustomers(result.data);
        }
        getCustomers();
    }, []);

    console.log(customers);

    return (
        <AccountContext.Provider value={{ ...value, customers }}>
            {children}
        </AccountContext.Provider>
    )
};

标签: reactjstypescript

解决方案


Any 可以是任何东西,不仅是数组,因此它不会有map方法。const customers:any[] = useContext()改为使用


推荐阅读