ho aggiunto il metodo del ciclo di vita alla mia componente ReagireReagire shouldComponentUpdate() viene chiamato anche quando puntelli o statale di tale componente non è cambiata
shouldComponentUpdate(nextProps, nextState) {
console.log(nextProps, nextState);
console.log(this.props, this.state);
return false;
},
Il mio problema è che questo metodo viene chiamato sul componente anche quando nextProps, e nextState, è esattamente lo stesso dei puntelli e dello stato attuali. Quando confronto le istruzioni di console.log per nextProps e this.props sono esattamente le stesse. Lo stesso con lo stato.
Quindi, perché è necessario chiamareComponentUpdate?
Viene chiamato ogni volta che cambio lo stato del componente principale. Ma nessuno dei puntelli o dello stato sta cambiando sul componente reale. Allora perché si chiama?
FYI, sto usando reagire con Meteor
ulteriori chiarimenti:
Mi chiedo il motivo per cui la funzione shouldComponentUpdate
è chiamata, in primo luogo. Nessuno stato o oggetti di scena di quel componente stanno cambiando. Ma lo stato del componente genitore sta cambiando.
chiamato perché si sta tornando vero, se si restituisce false, non sarà – JordanHendrix
Beh, la mia domanda è stata, perché è la funzione chiamata in primo luogo. I sostegni o lo stato non sono cambiati. Ma ho capito che veniva chiamato perché il componente genitore era re-rendering, quindi chiamato shouldComponentUpdate. Penso che ... – nearpoint
Questo è stato solo un breve commento, per favore vedi la mia risposta completa qui sotto ... – JordanHendrix