【问题标题】:undefined is not an object when import external js file in react native在 react native 中导入外部 js 文件时,undefined 不是对象
【发布时间】:2018-06-15 02:20:53
【问题描述】:

我正在导入外部 js 文件并在组件中调用函数,但出现错误“获取我使用此代码但显示未定义不是对象(正在评估 _ApiHelper.ApiHelper.getPost)”

主登录文件代码

import React, { Component } from "react";
import Icon from "react-native-vector-icons/Ionicons";
import {
  View,
  StyleSheet,
  Image,
  TextInput,
  TouchableOpacity,
  Text,
  Alert,
  KeyboardAvoidingView
} from "react-native";
//
import { Search } from '../Search/Search';
import { ApiHelper } from '../../api/ApiHelper'; 

export default class Login extends Component {
  static navigationOptions =
   {
      title: 'LoginActivity',
   };

constructor(props) {

    super(props);
    //
    //Obj = new ApiHelper();
    //

    this.state = {
      userName: '',
      password: '',
      serverName:''
    }

  }

UserRegistrationFunction = () =>{


 const { userName }  = this.state ;
 const { password }  = this.state ;
 const { serverName }  = this.state ;
  this.data =  {
      name: userName,
      email: password,
      password: serverName

    }

   alert(ApiHelper.getPost());
 //Alert.alert(returndata);

  }

导入文件代码

  const ApiHelper = {
  getPost:() => {
    return 1;

  }
}

export default ApiHelper;

我的代码有什么问题,我还清除了反应本机缓存和其他内容。 提前致谢。

【问题讨论】:

  • 要么您导入了错误的文件,要么您没有显示代码的相关部分。或者,也许您没有复制/粘贴错误并打错了字。
  • 我正在导入正确的文件
  • 错误显示了对getdata的调用,您的代码中未在此处显示。
  • 原来你打错了。 :) 现在看看@mersocarlin 的回答。

标签: javascript react-native


【解决方案1】:

您的ApiHelper 文件导出default

所以为了在其他地方使用它,只需将其导入为:

import ApiHelper from '../../api/ApiHelper'

【讨论】:

  • @jhon 你也去掉了大括号吗?
  • 是的,我删除了使用 import ApiHelper from '../../api/ApiHelper';
  • 如果您console.log(ApiHelper) 会发生什么? (无需致电getPost
  • 获取[对象对象]
【解决方案2】:

我猜getData 没有在 ApiHelper 类中定义/拼写错误,处理输出的函数需要一个对象。因为typeof(undefined) 不是对象,所以它会抛出错误。

【讨论】:

  • 很抱歉我正在使用 getData 它 getPost 并且它不起作用我不明白我的代码有什么问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 2016-10-14
  • 2022-01-23
  • 2017-11-05
相关资源
最近更新 更多