2017-12-06 5 views
0

現在、私は単純なリアクトネイティブエクスポアプリケーションのセットアップを行っています。私はAppとQRreaderという2つのコンポーネントを持っています。カスタムリアクションネイティブコンポーネントが正しくインポートされないのはなぜですか

メインのAppコンポーネントにQRreaderコンポーネントをインポートしようとしています。

メインアプリケーションコンポーネントコード...

import React, { Component } from 'react'; 
import { Button, Text, View, StyleSheet } from 'react-native'; 
import { Constants, WebBrowser } from 'expo'; 
import QRreader from './qr'; 

export default class App extends Component { 
    state = { 
    result: null, 
    }; 

    render() { 
    return (
     <View style={styles.container}> 
     <QRreader/> 
     </View> 
    ); 
    } 

} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    alignItems: 'center', 
    justifyContent: 'center', 
    paddingTop: Constants.statusBarHeight, 
    backgroundColor: '#ecf0f1', 
    }, 
}); 

QRコンポーネントコード...

import React, { Component } from 'react'; 
import { Text, View, StyleSheet, Alert } from 'react-native'; 
import { Constants, BarCodeScanner, Permissions } from 'expo'; 

export default class QRreader extends Component { 
    state = { 
    hasCameraPermission: null 
    }; 

    componentDidMount() { 
    this._requestCameraPermission(); 
    } 

    _requestCameraPermission = async() => { 
    const { status } = await Permissions.askAsync(Permissions.CAMERA); 
    this.setState({ 
     hasCameraPermission: status === 'granted', 
    }); 
    }; 

    _handleBarCodeRead = data => { 
    Alert.alert(
     'Scan successful!', 
     JSON.stringify(data) 
    ); 
    }; 

    render() { 
    return (
     <View style={styles.container}> 
     {this.state.hasCameraPermission === null ? 
      <Text>Requesting for camera permission</Text> : 
      this.state.hasCameraPermission === false ? 
      <Text>Camera permission is not granted</Text> : 
      <BarCodeScanner 
       onBarCodeRead={this._handleBarCodeRead} 
       style={{ height: 200, width: 200 }} 
      /> 
     } 
     </View> 
    ); 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    alignItems: 'center', 
    justifyContent: 'center', 
    paddingTop: Constants.statusBarHeight, 
    backgroundColor: '#ecf0f1', 
    } 
}); 

Iは、使用してインポートの異なるバリエーションを試みた "./" "" "qr.js" "qr"

エラーが発生しました "qr.js"モジュールを解決できませんモジュールがメインモジュールマップに存在しません。

私のファイル構造は、あなたがまだあなたのメインモジュールを登録していないHere

答えて

0

です。

AppRegistry.registerComponent('Main',() => App);この行をクラスの末尾に追加し、問題が解決するかどうかを確認してください。

0

hmm ...追加コードを追加せずにExpoプロジェクトを再開しなければならなかったようです。

ちょうど好奇心から離れていますか? どこにAppRegistry.registerComponent( 'Main'、()=> App)を追加しますか?正確に?なぜ私はこれをしなくてはなりませんか?

関連する問題