Uncaught TypeError: Cannot read property 'filter' undefined

import React, {PureComponent} from 'react';
import {TextInput} from '../../shared';
import {array} from 'prop-types';
import { EmployeeTable } from '../employeeTable/EmployeeTable';
import './HeaderSearch.scss';

export class HeaderSearch extends PureComponent {
    static propTypes = {
        employees: array
    }

    constructor (props) {
        super(props);

        this.state = {
            searchValue: null
        };
    }

    _updateSearchValue (value) {
        this.setState({
            searchValue: value
        });
    }

    render () {
        const employees = this.props.employees;
        let filteredEmployees = employees.filter(
                (employee) => {
                    return employee.name.indexOf(this.state.searchValue) !== -1;
                }
            );
        return (
            <div className='header_search'>
                <ul>
                    {filteredEmployees.map((employee) => {
                        return <EmployeeTable
                            employees={employee}
                            key={employee.id}
                            />;
                    })}
                </ul>
                <TextInput
                    label='Search for people'
                    value={this.state.searchValue}
                    onChange={(e) => this._updateSearchValue(e.target.value)}
                    />
            </div>
        );
    }
}
export default HeaderSearch;

Ich bin ein Neuling in ReactJS, also bin ich stecken, dieses problem. Ich habe bewusst diese Frage gestellt wurde und ich sah durch Sie alle, aber noch konnte Sie nicht finden, eine Lösung, warum bin ich immer diese Fehlermeldung. Ich möchte filter array employees nach der searchValue - und display-update Employee Table.

  • Gut wie alle anderen Fragen, die mit diesem Fehler, es bedeutet, dass Sie versuchen, etwas auf eine variable, die nicht definiert ist. Also eine variable, die nicht halten, was Sie denken, es tut. Stellen Sie sicher, dass employees ist eigentlich ein array (zB Konsole.melden Sie es)
InformationsquelleAutor msd | 2017-08-14
Schreibe einen Kommentar