gpt4 book ai didi

reactjs - 无法在 AsyncStorage 中设置项目

转载 作者:行者123 更新时间:2023-12-03 13:41:39 27 4
gpt4 key购买 nike

我无法使用 AsyncStorage setItem。以下是我的代码。因此,我从 TextInput 获取状态名称,然后将其存储在 TouchableOpacityAsyncStorage onPress 中>。我收到错误:

enter image description here

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>
}
}

我做错了什么?请帮忙。

最佳答案

您需要从 react-native 导入 AsyncStorage

import { View, Text, StyleSheet, TextInput, TouchableOpacity , AsyncStorage} from 'react-native';

您还需要保留 asyncSetName 函数的绑定(bind)

取消注释该行

this.asyncSetName = this.asyncSetName.bind(this)

此外,@Chris 还发现,您需要将类名更改为与 AsyncStorage 不同的类名

关于reactjs - 无法在 AsyncStorage 中设置项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47489936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com