4
我無法使用AsyncStorage setItem
。以下是我的代碼。所以我從TextInput
那裏得到這個名字,然後想把它存儲在TouchableOpacity
的AsyncStorage
onPress
。我收到提示:無法在AsyncStorage中設置項目
import React, { Component } from 'react';
import { View, Text, StyleSheet, TextInput, TouchableOpacity} from 'react-native';
class AsyncStorage extends Component {
constructor(props) {
super(props);
this.state = {
name:''
}
//this.asyncSetName = this.asyncSetName.bind(this) //tried this too.
};
asyncSetName(){
let name = this.state.name
AsyncStorage.setItem('name', name);
}
render(){
<View>
<TextInput
placeholder='Set Name here'
onChangeText={(name) => this.setState({name})}
value={this.state.name}
autoCorrect={false}
></TextInput>
<TouchableOpacity
onPress={this.asyncSetName.bind(this)}
>
<Text>SetName</Text>
</TouchableOpacity>
</View>
}
}
我在做什麼錯?請幫忙。
謝謝。我是否必須在構造函數(props)中綁定這個'this.asyncSetName = this.asyncSetName.bind(this)',並且像這樣調用它:'onPress = {this.asyncSetName.bind(this)}'。 爲什麼我需要將它綁定兩次? – Somename
歡迎您......關於綁定,您需要綁定一次,我更喜歡使用構造函數中的一個 –