TypeError: Cannot read properties of undefined (reading 'push') in React

38 views Asked by At

I'm encountering an issue while developing a React application where I'm getting the error "TypeError: Cannot read properties of undefined (reading 'push')". This error occurs when I attempt to perform the 'push' operation on an object that is undefined. I've checked my code, and it seems that the variable I'm trying to 'push' onto is initialized correctly, so I'm puzzled about what could be causing the problem.

React code:

import React from 'react';
import {
  Badge,
  Button,
  Col,
  DropdownItem,
  DropdownMenu,
  DropdownToggle,
  FormGroup,
  Input,
  InputGroup,
  InputGroupAddon,
  InputGroupText,
  Row,
  Table,
  UncontrolledButtonDropdown,
} from 'reactstrap';
import Widget from '../../../components/Widget';
import s from './Static.module.scss';
import { newUser, ricercaclienti } from '../../../services/cliente';

class Static extends React.Component {
  constructor(props) {
    super(props);

    this.textInput = React.createRef();

    this.state = {
      tableStyles: [],
      input: '',
    };

    this.handleChangetext = this.handleChangetext.bind(this);
    this.handleChange = this.handleChange.bind(this);
    this.confirm = this.confirm.bind(this);
  }

  getEventEditUser(
    id,
    ragioneSociale,
    indirizzo,
    provincia,
    partitaiva,
    CodiceFiscale,
    titolo,
    fax,
    pec,
    Dirittochiamata,
    sdi,
    RimborsoKM,
    citta,
    cap,
    Telefono,
    Email,
    Nome1,
    Nome2,
    Cellulare1,
    Cellulare2,
    Sconto1,
    Sconto2,
    Sconto3,
    IBAN,
    Applicaprezzorisorsegiornaliero
  ) {
    localStorage.setItem('IdClienteSelect', id);
    localStorage.setItem('RagioneSocialeSelect', ragioneSociale);
    this.props.history.push({
      pathname: '/app/editclient',
      state: {
        idCliente: id,
        ragioneSociale: ragioneSociale,
        indirizzo: indirizzo,
        Provincia: provincia,
        PartitaIVA: partitaiva,
        CodiceFiscale: CodiceFiscale,
        Titolo: titolo,
        FAX: fax,
        PEC: pec,
        Dirittochiamata: Dirittochiamata,
        SDI: sdi,
        RimborsoKM: RimborsoKM,
        Citta: citta,
        Cap: cap,
        Telefono: Telefono,
        Email: Email,
        Nome1: Nome1,
        Cellulare1: Cellulare1,
        Nome2: Nome2,
        Cellulare2: Cellulare2,
        Sconto1: Sconto1,
        Sconto2: Sconto2,
        Sconto3: Sconto3,
        IBAN: IBAN,
        Applicaprezzorisorsegiornaliero: Applicaprezzorisorsegiornaliero,
      },
    });
  }
1

There are 1 answers

1
haider fadel On

you can just add the nullable check "?" like this:

this.props?.history?.push({})