2017-06-14 19 views
0

Ich benutze reagieren native in der Entwicklung einer Android-Anwendung. Ich versuche, ein Profil auf meinem Telefon mithilfe von AsyncStorage zu aktualisieren. Nachdem ich alles eingegeben und mein Profil gespeichert habe, ändert sich nichts. Der Name ist immer noch derselbe. HilfeReagieren native AsyncStorage Update-Details in Telefon

xport default class ControlPanel extends Component { 
    constructor(){ 
    super(); 
    this.state = { 
     modalVisible: false, 
     firstName: '', 
     middleName: '', 
     lastName: '', 
     address: '', 
     contactNumber: '' 
    } 
    this.editUser = this.editUser.bind(this); 
    } 

    componentDidMount() { 
    AsyncStorage.getItem("id").then(val => { 
     this.setState({ 
      "id": val 
     }) 
    }).done() 
    } 

    editUser(){ 
    fetch('http://plakaco.000webhostapp.com/api/createClient', { 
     method: 'POST', 
     headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json' 
     }, 
     body: JSON.stringify({ 
     c_fname: this.state.firstName, 
     c_mname: this.state.middleName, 
     c_lname: this.state.lastName, 
     c_address: this.state.address, 
     c_type: 'mobile', 
     c_contact: this.state.contactNumber 
     }) 
    }).then(response => { 
     response.json().then(data => { 
     AsyncStorage.setItem("id", data.data.client_id.toString()) 
     this.setState({ 
      "id": data.data.client_id.toString() 
     }) 
     }) 
     alert('User saved successfully!') 
     this.clearState() 
    }).catch(err => { 
     alert('Save failed') 
     this.clearState() 
    }) 
    } 

    clearState(){ 
    this.setState({ 
     firstName: '', 
     middleName: '', 
     lastName: '', 
     address: '', 
     contactNumber: '' 
    }) 
    } 
+0

Wo haben Sie Ihre editUser-Funktion aufgerufen? –

Antwort

0

Vor allem für in AsyncStorage Einstellung Sie haben geschrieben ->

AsyncStorage.setItem("id", data.data.client_id.toString()) 

statt dass schreiben wie diese ->

AsyncStorage.setItem("id", JSON.stringify(data.data.client_id)) 

und für das Erhalten von AsyncStorage diese Zeile schreiben ->