在 react 中使用 Array.map.js

我在 react js 中使用 map 时遇到错误。此问题的解决方案可能是什么?代码如下:Uncaught TypeError: this.state.salaryDetails.map is not a function


import React, { Component } from 'react';

import httpBrowsing from './../../../utils/httpBrowsing';

import { NativeSelect, FormControl } from '@material-ui/core'




export class Salary extends Component {

constructor() {

    super();

    this.state = {

        salaryDetails: '',

        data: {

            employeeName: '',

            year: '',

            month: ''

        }

    }

}


handleChange = (e) => {

    const { name, value } = e.target;


    this.setState((pre) => ({

        data: {

            ...pre.data,

            [name]: value,

            employeeName: this.state.salaryDetails.filter((item) => item[name] === value)


        }



    }))


}



componentDidMount() {

    httpBrowsing.get('/addemployee', true)

        .then((data) => {

            this.setState({

                salaryDetails: data.data,


            })

        })

        .catch(err => {

            console.log("error", this.state);

            debugger;

        })


}



我尝试使用来自数据库的选项,使用本机选择的材料UI,但显示错误.可能是什么问题 ?问题可能是什么?我该如何解决问题?请为我提供解决方案。


芜湖不芜
浏览 107回答 1
1回答

慕桂英546537

查看组件中的构造函数,状态初始化为空字符串 。salaryDetails''Array.map()只能在数组上使用。因此,应将状态初始化为空数组。salaryDetailsthis.state = {  salaryDetails: [],  data: {    employeeName: '',    year: '',    month: '',  },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript