Ich habe meinen Kopf gegen die Wand geschlagen und versucht, alle syntaktischen Fehler in meinem Code zu korrigieren, aber ich erhalte weiterhin den Fehler "setState kann während vorhandenem Status nicht aktualisieren". Ich habe mich auf ähnliche Themen bezogen, aber die Antworten schienen nicht wirklich gut auf meine Situation zu passen (oder die Lösung hat mich enttäuscht).setState kann trotz vorhandener Statusübergänge trotz korrekter Syntax nicht aktualisiert werden
Hier den Code ist, dass ich haben das Problem gezielt haben:
getInitialState: function() {
return {
searching: false,
anim: new Animated.Value(305),
user: null,
isLoaded: false,
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2,
}),
}
},
render: function() {
return <View>
<View style={styles.mainView}>
{ this.renderProperElement() }
</View>
},
renderProperElement: function() {
var that = this;
return <Animated.View
style={[styles.searchWrapper, {transform: [{translateX: this.state.anim}]}]}>
<TouchableOpacity style={styles.icon} onPress={that.startSearch()}>
<Image style={styles.icon} source={require('../img/search.png')} />
</TouchableOpacity>
<TextInput style={styles.searchInput} autoFocus = {true} />
<TouchableOpacity onPress={that.stopSearch()} style={styles.icon}>
<Image style={styles.icon} source={require('../img/cancel.png')} />
</TouchableOpacity>
</Animated.View>
},
startSearch: function() {
this.setState({ searching: true });
Animated.timing(
this.state.anim,
{
toValue: 0,
easing: Easing.elastic(1),
}
).start();
},
stopSearch: function() {
Animated.timing(
this.state.anim,
{
toValue: 305,
easing: Easing.elastic(1),
}
).start();
},
Insbesondere machen die Code-Singles aus dem Aufruf der Funktion in und die startSearch Funktion hier:
Jede Hilfe würde sehr geschätzt werden.
beziehen Sie sich auf die startSearch-Funktion? Wenn ja, habe ich den Zustand auf True gesetzt –
oh - ich sehe - ja, ich habe das auch geändert, aber leider kein Glück –
sonst versuchen Einstellung wie folgt: this.setState ({Suche: ! searching}); in beiden Fällen. –