i so viele Möglichkeiten gesucht, diese zu lösen, aber niemand arbeitet, setState
noch nicht in der componentWillReciveProps
Methode arbeiten hier ist mein Code:reagieren-native: Zustand nicht innerhalb der componentWillReciveProps aktualisiert
export class Detail extends React.Component
{
constructor(props)
{
super(props);
this.state = {
ids: 'ger'
}
}
componentWillReceiveProps(nextProps) {
this.setState({ ids: nextProps.data },() => {
console.log(nextProps.data+"=this id")
});
}
render()
{
return (
<View>
<Text>{this.state.ids}</Text>
</View>
);
}
}
wenn i do console.log(nextProps.data+"=this id")
es kann die ID, die ich auf this.state.ids
aktualisieren möchte. Aber in der <Text>{this.state.ids}</Text>
im Render zeigt immer noch den Standardwert von this.state.ids
('ger'), bedeutet, dass this.state.ids
nicht in der componentWillReceiveProps
aktualisiert wurde.
Ich denke, das ist mit Ihrer [vorherigen Frage] (https://Stackoverflow.com/q/46389012/2315280) verwandt und kann dadurch verursacht werden, dass Sie keine 'Schlüssel'-Prop auf Ihrem gerenderten Objekt auf Ihrem haben 'ListView'. Bitte werfen Sie einen Blick auf [diese Antwort] (https://stackoverflow.com/a/35229429/2315280) – bennygenel
ich versuchte so und immer noch dieses Problem, das seltsame ist, dass 'nextProps.data' die ID erfolgreich erhalten, wenn Ich mache 'console.log (nextProps.data +" = diese ID ")' (zum Beispiel ist die Ausgabe "4 = diese ID"), aber der IDs-Zustand ist immer noch nicht aktualisiert, selbst wenn ich 'this.setState ({ids : nextProps.data}) 'innerhalb der' componentWillReceiveProps': '( – janotama