我在开发 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,
},
});
}
您可以只添加可为空的检查“?”像这样:
this.props?.history?.push({})