TypeError:无法在 React 中读取未定义的属性(读取“push”)

问题描述 投票:0回答:1

我在开发 React 应用程序时遇到问题,收到错误“TypeError:无法读取未定义的属性(读取“push”)”。当我尝试对未定义的对象执行“推送”操作时,会发生此错误。我检查了我的代码,看来我尝试“推入”的变量已正确初始化,因此我对可能导致问题的原因感到困惑。

反应代码:

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,
      },
    });
  }
reactjs react-router browser-history
1个回答
0
投票

您可以只添加可为空的检查“?”像这样:

this.props?.history?.push({})
© www.soinside.com 2019 - 2024. All rights reserved.