React Native API 调用和提取变量

Posted

技术标签:

【中文标题】React Native API 调用和提取变量【英文标题】:React Native API call and extracting variable 【发布时间】:2021-12-12 23:50:30 【问题描述】:

我是新来的本地反应,所以请耐心等待。我有一个调用 Plaid Link 的反应原生组件,它返回一个 public_token。一旦我得到它,我调用 Plaid 将 public_token 交换为 access_token,我需要将其保存为变量。

目前,我在 Plaid Link 返回 public_token 后有这个调用。我无法准确判断问题出在哪里,但我认为我没有正确地从响应中提取 access_token。

    //Call Plaid Public Token Exchange: PublicToken -> AccessToken
    fetch("https://sandbox.plaid.com/item/public_token/exchange", 
     method: "POST",
     headers: 
    Accept: 'application/json',
        'Content-Type': 'application/json'
     ,
     body: JSON.stringify(
       "client_id": "[ClientID]",
       "secret": "[SandboxSecretID]",
       "public_token": success.publicToken
      ),
    )
     .then(response => response.json())
     .then(response => 
      console.log(response.content);
      setVariable( key: 'AccessToken', value: access_token )
     )
     .catch(err => 
       console.log(err);
     );

这是调用应该返回的响应(再次尝试保存 access_token)

“access_token”:“访问沙盒-xxxxx”, "item_id": "YYYYYYYY", "request_id": "ZZZZZZZZZ"

【问题讨论】:

【参考方案1】:

尝试这样做:

在一切之前先声明一个useState

const [ApiData, setApiData] = useState(
     access_token : null, item_id : null, request_id : null 
)

然后在你的代码中

  .then(response => response.json())
  .then(response => 
       console.log(response.content);
       setApiData(
            access_token : response.content.access_token
            item_id : response.content.item_id
            request_id : reponse.content.request_id
       )
  )

现在您在 ApiData.access_token 中存储了 access_token

希望这对您有所帮助,如果没有或我不理解您的问题,我们深表歉意。

【讨论】:

以上是关于React Native API 调用和提取变量的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript React Native 从 API 的 json 对象中提取数据

我在 react-native 和 redux 中处理 API 调用的地方

React Native教程 - 调用Web API

基于用户位置的 React Native API 调用

通过React Native显示JSON数据-json数组

React Native UseEffect API 调用