繁体   English   中英

在init()方法上引发错误的原因是什么?

[英]What's the reason for the error being thrown on init() method?

我使用https://www.npmjs.com/package/react-native-dynamodb为我的项目实现DynamoDB访问。 我使用与该网站完全相同的代码。

唯一的事情是,我看不到.init()方法如何给我:将鼠标悬停在它上面时, Unresolved function or method init() (我正在使用WebStorm IDE)。 我认为这就是我的应用无法运行的原因。 下面是代码以及我在模拟器中遇到的错误。

iOS模拟器错误

这是我的.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);

我检查了react-native-dynamodb的源代码,似乎DynamoDB并非默认导出,而是命名导出。

尝试像这样导入它:

import { DynamoDB } from 'react-native-dynamodb';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM