Ich habe nach diesem Text gesucht, aber keiner meiner Situation behoben. Meine Bedingung ist, dass ich einen Prop-Wert habe. Ich muss diesen Wert auf 2 State-Variable setzen. Eine direkte Zuweisung ist eine indirekte. jetzt aufgrund der asynchronen Natur des gesetzten Zustands oder des unbekannten Grundes, bevor der Wert gesetzt wurde, der unter gerendert wurde. Wie soll ich dieses Verhalten kontrollieren? das ist mein componentWillReceiveprops
der KinderWie man einen Prop-Wert einem Zwei-Zustand in reagieren
componentWillReceiveProps(nextProps) {
let lastManualFlag =[...this.state.lastManualFlag];
console.log('before',lastManualFlag,nextProps.groupBy.length);
for(var i=0;i<nextProps.groupBy.length;i++){
lastManualFlag[i]=false;
}
console.log("after",lastManualFlag)
this.setState({lasManualProg:lastManualFlag});
this.setState({ groupBy: nextProps.groupBy});
}
dies meine Methode
render() {
console.log('this.state',this.state);
if (!this.props.groupBy) return null;
, wenn ich meine lastManualFlag noch trösten sah machen ist Größe 0-Array
Haben Sie versucht, nur eine setState-Zeile statt zwei zu verwenden? – mersocarlin
Entschuldigung, es ist ein dummer Fehler, den ich gemacht habe. 'lasManualProg' anstelle von' lastManualProg' – LowCool
Es gibt auch einen Tippfehler. 'lastManualProg' statt' lasManualProg' – mersocarlin