在React Native中处理API调用?

时间:2019-06-09 12:28:05

标签: typescript react-native

我是本机反应新手,并试图与我在一个屏幕文件中制作的API帮助程序进行交互,我确定这是一个语法错误,但是我也很感兴趣它的体系结构是否正确当我来自iOS开发时。

出现错误的函数:

  handleLoginPress = () => {
    ApiHelper.loginDriver(this.state.email, this.state.password)
      .then((result) => {
        console.log(result);
    }).catch((error) => {
        console.log("error is " + error);
    });
  };

错误是:

  

类型'void'上不存在属性'then'

该函数的调用:

static loginDriver(username: string, password: string) {
    fetch('http://localhost:8080/drivers/login', {
         method: 'POST',
    headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({
        uername: username,
        password: password,
    }),
    });
}

我认为关于apis登录函数的返回类型是否需要一些规范?

1 个答案:

答案 0 :(得分:1)

您的loginDriver函数中缺少

return,请添加return语句以返回数据。

static loginDriver(username: string, password: string) {
  return fetch('http://localhost:8080/drivers/login', {
    method: 'POST',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      uername: username,
      password: password
    })
  });
}