Javascript 异步保存数据

Javascript 异步保存数据,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我想在手机中存储2个文本输入的值,并在输入后使用数据 我正试图保存数据,但只存储了一个字符。。。有人能给我解释一下为什么吗 import React, { Component } from 'react'; import { TouchableHighlight, TouchableOpacity, AsyncStorage, AppRegistry, StyleSheet, Navigator, TextInput, ListView, onPress, Button, Image, Tex

我想在手机中存储2个文本输入的值,并在输入后使用数据

我正试图保存数据,但只存储了一个字符。。。有人能给我解释一下为什么吗

import React, { Component } from 'react';
import  {
TouchableHighlight,
TouchableOpacity,
AsyncStorage,
AppRegistry,
StyleSheet,
Navigator,
TextInput,
ListView,
onPress,
Button,
Image,
Text,
View,
} from 'react-native';

var styles = require('../style.js');

class config extends React.Component {
constructor(props) {
 super(props);
 this.state = { local: 'test',
                ext: 'test_ext',
              };
 }

componentWillMount() {
    AsyncStorage.getItem("myKey").then((value) => {
        this.setState({"myKey": value});
    }).done();
}

getInitialState() {
   return { };}

saveData(value) {
   AsyncStorage.setItem("myKey", value);
   this.setState({"myKey": value});
}

render(){
//  console.log({IP_LOCAL});
return(

  <View>

  <View style={styles.container}>
    <Image source={require('../../img/mob.png')} style={styles.mob_logo}/>
  </View>

    <View style={{marginTop:100}}>
      <Text style={{fontSize:20}}>Hello From config component</Text>
      <Text>id: {this.props.id}</Text>
      <Text>name: {this.props.name}</Text>
      <Text>name: {this.props.myVar}</Text>

      <Text style={styles.saved}>
          {this.state.myKey}
      </Text>
        <Text> </Text>
      <TextInput
        style={{height: 40, borderColor: 'gray', borderWidth: 1}}
        onChangeText={(local) => this.saveData(local)}
        value=""
      />
    </View>
    </View>
)
 }
}

module.exports = config;
import React,{Component}来自'React';
进口{
触控高光,
可触摸不透明度,
异步存储,
评估学,
样式表,
领航员,
文本输入,
ListView,
新闻界,
按钮
形象,,
文本,
看法
}从“反应本机”;
var styles=require('../style.js');
类配置扩展了React.Component{
建造师(道具){
超级(道具);
this.state={local:'test',
分机:“测试分机”,
};
}
组件willmount(){
AsyncStorage.getItem(“myKey”)。然后((值)=>{
this.setState({“myKey”:value});
}).完成();
}
getInitialState(){
返回{};}
保存数据(值){
AsyncStorage.setItem(“myKey”,值);
this.setState({“myKey”:value});
}
render(){
//log({IP_LOCAL});
返回(
你好,来自配置组件
id:{this.props.id}
名称:{this.props.name}
名称:{this.props.myVar}
{this.state.myKey}
此.saveData(本地)}
value=“”
/>
)
}
}
module.exports=config;
我用

 componentWillMount() {
    AsyncStorage.getItem("local").then((value) => {
        this.setState({"local": value});
    }).done();
    AsyncStorage.getItem("ext").then((value) => {
        this.setState({"ext": value});
    }).done();


}

getInitialState() {
   return { };
 }

 saveData(target, value, i) {
  if (i === 1){
    AsyncStorage.setItem("local", value);
     this.setState({local: value});
  }
   else{
       AsyncStorage.setItem("ext", value);
       this.setState({ext: value});
   }
 }

现在它开始工作了好的,我想你应该这样做:

var count;//declare global variable

saveData(value) {
    count++;
   AsyncStorage.setItem(""myKey"+count", value);//you can store distinct //key
   this.setState({"myKey": value});
}

什么意义上的两个文本输入?我有两个文本输入,我想在使用您的解决方案和这个解决方案后,将ip保存在其中并使用它们,它是fail
saveData(target,value,i){if(i==1){AsyncStorage.setItem(“local”,value);this.setState({local:value});}else{AsyncStorage.setItem(“ext”,value);this.setState({ext:value});}}