2017-07-12 98 views
0

我使用https://www.npmjs.com/package/react-native-dynamodb爲我的項目實現了DynamoDB訪問。我使用了與該網站相同的確切代碼。init()方法拋出錯誤的原因是什麼?

唯一的問題是,我看不到我的.init()方法是如何給我的:Unresolved function or method init()懸停在它上面(我使用的是WebStorm IDE)。我相信這就是我的應用程序無法運行的原因。下面是代碼以及我在模擬器中遇到的錯誤。

Error in iOS Simulator

這是我的.js文件:

import React, { Component } from 'react'; 
import { connect } from 'react-redux'; 
import { ScrollView, Text, View, Button } from 'react-native'; 
import { logout } from '../redux/actions/auth'; 
import DropdownMenu from 'react-native-dropdown-menu'; 
import Icon from './Icon'; 
import DynamoDB from 'react-native-dynamodb'; 

let dynamodb = DynamoDB.init({ 
    credentials: { 
     AccessKeyId: 'Some key', 
     SecretKey: 'Some key' 
    } 
    // region: 'us-east-1' - default, optional 
    // version: '20120810' - default, optional 
}) 

dynamodb.table('user_choice').PutItem(
    { 
     name: 'Jack Sparrow', 
     age: 30, 
     captain: true 
    }, 

    { 
     ConditionExpression: "last_movie <> :movie", 
     ExpressionAttributeValues: { 
      ":movie": {"S": "Pirates of the Caribbean: On Stranger Tides"} 
     } 
    }) 
    .then((response) => console.log(response)) // AWS object response 
    .catch((error) => { 
     console.log(error) 
    }) 

class Secured extends Component { 
    render() { 
     var data = [["Literacy Leaders"], ["Wrestling Camp"], ["Screenplay Writing"], ["Panetarium Workshop"]]; 

     return(
      <ScrollView style={{padding: 20}}> 
       <Icon/> 

       <Text style={{fontSize: 27}}> 
        {`Welcome ${this.props.username}`} 
       </Text> 

       <View style={{flex: 1}}> 

        <DropdownMenu style={{flex: 1}} 
            bgColor={"purple"} //the background color of the head, default is grey 
            tintColor={"white"} //the text color of the head, default is white 
            selectItemColor={"orange"} //the text color of the selected item, default is red 
            data={data} 
            maxHeight={410} // the max height of the menu 
            handler={(selection, row) => alert(data[selection][row])} > 

         <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}} > 
         </View> 
        </DropdownMenu> 

       </View> 

       <View style={{margin: 20}}/> 

       <Button onPress={(e) => this.userLogout(e)} title="Logout"/> 

      </ScrollView> 
     ); 
    } 
} 

const mapStateToProps = (state, ownProps) => { 
    return { 
     username: state.auth.username 
    }; 
} 

const mapDispatchToProps = (dispatch) => { 
    return { 
     onLogout:() => { dispatch(logout()); } 
    } 
} 

export default connect(mapStateToProps, mapDispatchToProps)(Secured); 

回答

0

我檢查的react-native-dynamodb的源代碼,似乎DynamoDB不導出爲默認值,但一個叫出口。

嘗試導入這樣的:

import { DynamoDB } from 'react-native-dynamodb'; 
相關問題