导入函数时,undefined不是函数

时间:2016-04-18 08:44:45

标签: javascript react-native

我必须提交一个主文件和一个名为rest.js的文件

在我的主文件中,我按下一个按钮后调用getToken,该按钮从rest.js调用getData - 但我得到的只是_rest2.default.getData不是函数

import rest from './rest.js';

class Login extends Component {
[...]
  let response = rest.getData(this.state.token,
    'https://example.com/endpoint/').done();
[...]

rest.js

 /*jshint esversion: 6 */
function getData(token, url) {
  var responseJson = fetch(url,
    {
      method: 'GET',
      headers: {
        Accept: 'application/json',
        Authorization: 'Bearer ' + token,
        Host: 'example.com',
      },
    }
  ).then(function (response) {
     return response.json();});

  return responseJson;
}

我做错了什么?

3 个答案:

答案 0 :(得分:2)

rest模块应export getData模块使其可用于导入:

 /*jshint esversion: 6 */
export function getData(token, url) {
  // function code
}

您正在使用的导入语法也用于导入模块的默认导出。要导入完整模块,您应该使用import * as rest from './rest.js'

答案 1 :(得分:1)

'import'语句可能存在问题。如果您将所有代码放在一个文件中,它是否有效?

答案 2 :(得分:0)

您需要在{rest.js

中使用export函数
export function getData(token, url) {
   ...
}