реагируют родные: есть способ использовать топор ios .put? - PullRequest
0 голосов
/ 31 марта 2020

в моем коде здесь я пытаюсь сделать "положить" с топором ios, но я не уверен, что это способ сделать это. Я хочу знать, пожалуйста, как лучше всего использовать put. как вы можете видеть, я использую componentdidmount для запуска функции putData().

export default class WaterQualitySamplesScreen extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }


  // //post//////////////////////////////////
    putData = () => {
        const axios = require('axios')

        axios.put('https://harigotphat1.mekorot.co.il/m200_orderapprovehub/api/Installation?Platform=fcm&InstallationId=o-ritzhak&Handle=ExponentPushToken[JtL6KhGx8JxPeF3rO005WY]',
        { headers: {
          Authorization: 'Bearer ' + "my token"}
        })
            .then(function (response) {
                console.log(response);
            })
    }
    // ///////////////////////////////////

  registerForPushNotificationsAsync = async () => {
    const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
    if (status !== "granted") {
      alert("No notification permissions!");
      return;
    }

    try {
      // Get the token that identifies this device
      let token = await Notifications.getExpoPushTokenAsync();
      console.log("this is my token:", token);

      firebase
        .database()
        .ref("users/" + "/push_token")
        .set(token);
    } catch (error) {
      console.log(error);
    }
  };

  //////////////

  async componentDidMount() {
    this.currentUser = await firebase.auth().currentUser;
    await this.registerForPushNotificationsAsync();

    this.putData();
  }

  render() {
    return (
      <View style={styles.screen}>
        <TouchableOpacity
          onPress={() => {
            this.props.navigation.navigate({ routeName: "PLACES" });
          }}
          style={styles.button}
        >
          <Text style={styles.textButton}>TODO</Text>
        </TouchableOpacity>
        <TouchableOpacity
          onPress={() => {
            this.props.navigation.navigate({ routeName: "  " });
          }}
          style={styles.button}
        >
          <Text style={styles.textButton}>SAID</Text>
        </TouchableOpacity>
        <View style={styles.InfoTableBottomMainContainer}>
          <View style={styles.InfoTableBottomView}></View>
        </View>
      </View>
    );
  }
}

1 Ответ

1 голос
/ 31 марта 2020
export const axiosPutReq = (url, data, authenticationId) => {
  return new Promise((resolve, reject) => {
    axios({
      method: "put",
      url,
      data,
      headers: {
        Authorization: "Bearer " + authenticationId,
        "Content-Type": "application/json",
        Accept: "application/json"
      }
    })
      .then(response => {
        resolve(response.data);
      })
      .catch(error => {
        reject(error);
      });
  });
};
...