2017-01-21 3 views
0

서명 APK 충돌 반응 로그 캣에 내가 requiring unknown module 'React'는 출시 후 기본 서명 APK 충돌을

디버그 응용 프로그램이 잘 작동 가지고 있지만, 로그 캣에 내가 가지고 >> 디버깅 목적으로 만 지원됩니다 이름으로 모듈 '반작용'을 요구하는과 의지 생산 중단!

React v15.4.1, native v0.39.2? 죄송합니다

내 영어

+0

수입 반응 않습니다 index_start.js? (예 : "react from"react "에서 가져 오기) – vovkasm

+0

"Reaction "에서 React, {Component} 가져 오기 – fotch

+0

아마도 모듈의 이름으로 'React'를 사용하면 안됩니다 (아마추어 이름인데, 내부적으로 페이스 북에서 사용됩니다) , try'import React에서 "react"' – vovkasm

답변

0

이 내 index.android.js

import React from 'react'; 
import {AppRegistry} from 'react-native'; 

import myapp from './index_start.js'; 

AppRegistry.registerComponent('myapp',() => myapp); 

이며 어떻게 코드에

import React, { Component } from "react"; 
    import { 
     StyleSheet, 
     AppRegistry, 
     Text, 
     Image, 
     View, 
     AsyncStorage, 
     NetInfo, 
     StatusBar, 
     Navigator, 
     Dimensions 
    } from 'react-native'; 

    // Window dismensions 
    const { width, height } = Dimensions.get('window'); 

    // Device infos 
    import DeviceInfo from 'react-native-device-info'; 
    // Native SplashScreen 
    import SplashScreen from 'react-native-splash-screen'; 
    // Spinner 
    import Spinner from 'react-native-spinkit'; 

    // Models 
    import User from './model/UserModel'; 
    // Json data for initial launch 
    var DB = require('./DB.json'); 

    // Components 
    import Stage from './components/stage/stage.js' 
    import Player from './components/player/player.js' 
    import Settings from './components/settings/settings.js' 
    import House from './stages/house/house.js' 


    // LocalStorage key 
    var USER_KEY = 'user_key'; 

    const routes = [ 
     {name: 'loading'}, 
     {name: 'stage', component: Stage}, 
     {name: 'house', component: House}, 
     {name: 'settings', component: Settings} 
    ]; 

    const _navigator = null; 

    export default class myapp extends Component { 

     constructor(props) { 
      super(props); 

      this.state = { 
       isConnected: false, 
       isLoading: true, 
       _navigator: null, 
       stages: null 
      } 
     } 

     componentWillMount() { 
      // check if connected 
      this._checkConnexionType(); 
     } 

     componentDidMount() { 
      SplashScreen.hide(); 

      this._loadInitialData(); 
     } 

     componentDidUpdate() { 
      // console.log(this.state.stages) 

      if (!this.state.isLoading && this.state.stages !== null) { 
       _navigator.push({ 
        name: 'stage', 
        passProps: { 
         data: this.state.stages 
        } 
       }) 
      } 
     } 

     /** 
     * Load localStorage Data 
     */ 
     async _loadInitialData() { 
      // GET User LocalStorage 

      if (this.state.stages == null) { 

       var localData; 
       //AsyncStorage.removeItem(USER_KEY) 

       AsyncStorage.getItem(USER_KEY).then((data) => { 
        if (data !== null) { 
         var localData = JSON.parse(data); 
         // User.uuid = localData.uuid; 
         User.setStages(localData.stages) 

         this.setState({ 
          'stages' : localData.stages 
         }) 
        } else { 
         var storage = {}; 
         storage.setUiid = DeviceInfo.getUniqueID(); 
         storage.stages = DB.stages; 
         AsyncStorage.setItem(USER_KEY, JSON.stringify(storage)); 

         this.setState({ 
          'stages' : DB.stages 
         }) 
        } 

       }) 

      } 

      if (this.state.isConnected) { 
       // var rStages = this._loadRemoteStages(); 
       // console.log(rStages); 
      } 

      // Change state 
      setTimeout((function() { 
       this.setState({ 
        'isLoading': false 
       }) 
      }).bind(this), 1500); 

     } 


     /** 
     * GET stages from remote DB 
     */ 
     async _loadRemoteStages() { 
      await fetch(API_URL) 
       .then((response) => response.json()) 
       .then((responseJson) => { 
        console.log(responseJson) 
        return responseJson; 
       }) 
       .catch((error) => { 
        console.error(error); 
       }); 
     } 

     /** 
     * CHECK IF user is connected to Network 
     * SET bool to state isLoading 
     */ 
     _checkConnexionType() { 
      NetInfo.isConnected.fetch().then(response => { 
       this.setState({ isConnected: response}) 
      }) 
     } 

     _renderScene(route, navigator) { 

      _navigator = navigator; 

      if (route.name == 'loading') { 
       return (
        <View style={styles.container}> 
         <StatusBar hidden={true} /> 
         <Image 
          style={{width: width, height: height}} 
          source={require('./img/screen.jpg')} 
         /> 

         <View style={styles.loading}> 
          <Text style={styles.loadingText}>CHARGEMENT</Text> 
          <Spinner type="ThreeBounce" color={'#fff'}/> 
         </View> 

        </View> 
       ) 
      } else if (route.name == 'stage') { 
       return (
        <Stage navigator={_navigator} {...route.passProps}/> 
       ) 
      } else if (route.name == 'player') { 
       return (
        <House navigator={_navigator} {...route.passProps}}/> 
       ) 
      } else if (route.name == 'settings') { 
       return (
        <Settings navigator={_navigator} {...route.passProps}/> 
       ) 
      } 
     } 

     render() { 

      return (

       <Navigator 
        initialRoute={{name: 'loading'}} 
        configureScene={() => Navigator.SceneConfigs.FloatFromBottomAndroid} 
        renderScene={this._renderScene.bind(this)} 
       /> 


      ); 
     } 
    } 

    const styles = StyleSheet.create({ 
     container: { 
     flex: 1, 
     }, 
     loading: { 
      flex: 1, 
      position: 'absolute', 
      bottom: 50, 
      left: 0, 
      right: 0, 
      alignItems: 'center', 
     }, 
     loadingText:{ 
      flex: 1, 
      fontFamily: 'CarterOne', 
      fontSize: 20, 
      color: '#fff' 
     } 
    });