gpt4 book ai didi

javascript - 如何从 React Native 中的函数返回值

转载 作者:行者123 更新时间:2023-11-29 23:17:38 26 4
gpt4 key购买 nike

此函数从我正在使用的 API 返回 token 数据。

// api.js
var token="";
const tokenAl= {
tokenner: function(){
fetch("myurl/api/token", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json-patch+json"
},
body: JSON.stringify({
// here is not important
})
})
.then(response => response.json())
.then(responseJson => {
token= responseJson.result.token;
console.warn(token) // it's ok. I got the token.
})
.catch(error => console.warn(error));
// this.props.navigation.navigate("Customer"); // Customer sayfasına gidiş.
},
}

export default tokenner;

一切正常。现在,如何在 Login-Form.js 文件中使用此标记值?

最佳答案

首先是export default tokenAl.tokenner

要在另一个文件中使用它,只需将其添加到您的 Login-Form.js 的顶部

import tokenner from './api.js'; //assuming it's located in the same directory

您需要修改您的 tokenner 函数,以便您可以检索 token 。返回 promise 。

tokenner: function(){
return fetch("myurl/api/token", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json-patch+json"
},
body: JSON.stringify({
// here is not important
})
})
.then(response => response.json());
}

然后在您的 LoginFormComponent 中

import React, { Component } from "react";
import tokenner from "./api";

export default class LoginFormComponent extends Component {
constructor() {
super();
this.state = { token: null };
}

componentWillMount() {
tokenner()
.then(responseJson => {
const token = responseJson.result.token;
console.warn(token); // it's ok. I got the token.
this.setState({ token });
})
.catch(error => console.warn(error));
}
render() {
const { token } = this.state;
return <div>{token}</div>;
}
}

Working example here

关于javascript - 如何从 React Native 中的函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52126770/

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