2016-09-09 6 views
2

誤って、私はプロジェクト名としてCheckBoxを使用します。 react-native init CheckBoxを使用してReact Nativeプロジェクトを生成します。私は複数の選択問題のチェックボックスが必要です。だから、hereからチェックボックスライブラリをインストールします。次に、import CheckBox from 'react-native-checkbox';を使用してライブラリをインポートします。今問題:Duplication declaration "CheckBox"。私はこれを解決するために何が必要ですか?私はプロジェクトを削除し、新しいプロジェクトを生成します。または、現在のプロジェクトでこの問題を解決する方法はありますか? 私のコードは次のとおりです。反応ネイティブの重複宣言

import React, { Component } from 'react'; 
import { 
    AppRegistry, 
    StyleSheet, 
    Text, 
    View 
} from 'react-native'; 
import CheckBox from 'react-native-checkbox'; 

class CheckBox extends Component { 
    render() { 
    return (
     <View style={styles.container}> 
     <Text style={styles.welcome}> 
      Welcome to React Native! 
     </Text> 
     </View> 
    ); 
    } 
} 

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

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

答えて

0

あなたはCheckBoxと呼ばれるコンポーネントをインポートしてから、同じ名前で新しいコンポーネントを定義しています。あなたが定義するコンポーネントの名前を変更する必要があります。この修正するには:

class CustomCheckBox extends Component 
... 
AppRegistry.registerComponent('CustomCheckBox',() => CustomCheckBox) 
+0

CustomCheckBoxのような新しいコンポーネントを定義すると、 "Application CheckBoxが登録されていません"というエラーが発生します。これは、初期化中にrequire()エラーが発生したかAppRegistry.registerComponentを呼び出せなかったためです。また、私はAppregistry.registerComponent(....)で変更を加えます。 –

+0

おそらく 'AppRegistry'呼び出しを忘れたからです。あなたのパッケージャを殺して、その変更を加え、再構築してみてください。 –

0

を構文は次のようになります。

import * as ReactNativeCheckbox from 'react-native-checkbox'; 
0

import SomethingElse from 'react-native-checkbox';

私の理解から、私たちは、インポート名を変更することができます例えば、パッケージのエクスポートデフォルトから来ています。 '反応 - ネイティブチェックボックス。

したがって、react-native-checkboxのコンポーネント名をに変更してください。CheckBoxこれで、重複宣言の問題を解決するはずです。

関連する問題