React Native从Mysql DB获取新数据

时间:2018-12-31 09:54:46

标签: react-native react-native-android fetch-api react-native-navigation

我是React Native的新手,我只想问一些有关在按下Delete按钮后获取新数据的问题。我曾尝试使用此代码,但是如果按Delete键,则屏幕上仍可使用数据,但已在数据库中将其删除。是错误还是错误?我应该怎么做才能使数据从屏幕上消失?

DeleteUsers = () => {
  fetch('http://192.168.43.67/crudPHP/delete.php',
    {
      method: 'DELETE',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ id: this.state.TextInputId })
    })
    .then((response) => response.json())
    .then((responseJson) => {
      Alert.alert(responseJson);
    })
    .catch((error) => { console.error(error); })
  this.props.navigation.navigate('Second')
}


render(){
  return (
    <View style={{
      flex: 1, alignItems: "center", marginTop: 5,
      backgroundColor: '#fff'
    }}>
      <TextInput
        value={this.state.TextInputNama}
        placeholder='Masukan Nama'
        onChangeText={TextInputValue => this.setState({ TextInputNama: TextInputValue })}
        underlineColorAndroid='transparent'
        style={styles.TextInputStyle1}
      />

      <TextInput
        value={this.state.TextInputEmail}
        placeholder='Masukan Email'
        onChangeText={TextInputValue => this.setState({ TextInputEmail: TextInputValue })}
        underlineColorAndroid='transparent'
        style={styles.TextInputStyle2}
      />

      <TextInput
        value={this.state.TextInputPhoneNumber}
        placeholder='Masukan Nomor Telepon'
        onChangeText={TextInputValue => this.setState({ TextInputPhoneNumber: TextInputValue })}
        underlineColorAndroid='transparent'
        style={styles.TextInputStyle2}
      />

      <TouchableOpacity activeOpacity={.4} style={styles.TouchableOpacityStyle} onPress={this.UpdateUsers}>
        <Text style={styles.textStyle}>Update Data</Text>
      </TouchableOpacity>

      <TouchableOpacity activeOpacity={.4} style={styles.TouchableOpacityStyleDel} onPress={this.DeleteUsers}>
        <Text style={styles.textStyle}>Delete</Text>
      </TouchableOpacity>
    </View>
  )

1 个答案:

答案 0 :(得分:2)

这不是错误,而是逻辑错误。您的数据已从数据库中删除,但您的本地数据仍在设备上,因此正在显示。您应该清除一旦成功删除远程数据。