web-dev-qa-db-ja.com

モジュールAppRegistryは、呼び出し可能なモジュールとして登録されていません(runApplicationを呼び出しています)

反応ネイティブでアプリを作成するためにネイティブベースを使用しています。私は両方に新しいです。アプリを実行すると、次のエラーが表示されます。

enter image description here

ここに私のコードがあります:

export default class Point extends Component {

    render() {
        return (
            <Container>
                <Header>
                    <Left>
                        <Button transparent>
                            <Icon name='menu' />
                        </Button>
                    </Left>
                    <Body>
                        <Title>Header</Title>
                    </Body>
                    <Right />
                </Header>
            </Container>
        );
    }
}

これが私のバージョンのスクリーンショットです

enter image description here

nativebaseバージョンは"native-base": "^2.1.2"です

28
Asad

私はアプリのネイティブベースをここで使用しています ネイティブベース

そして、あなたはこのようなアプリのレジストリがないことがわかります

 AppRegistry.registerComponent('Point', () => Point) 

しかし、アプリを実行するにはこれを行う必要があります

1
Asad

すべてのノードプロセスを強制終了してnpmサーバーを起動し、アプリケーションを実行するだけです。

ステップ1:コマンドkillall -9 nodeを実行します

Windowsユーザーの場合、次を実行します:taskkill /im node.exe

プロセスが引き続き存在する場合は、taskkill /f /im node.exeを実行します。

ステップ2:コマンドnpm start --reset-cacheを実行します

ステップ3:コマンドreact-native run-ios OR react-native run-Androidを実行します

56
Brijesh Shiroya

現在のMetro Bundlerを閉じ、キャッシュをリセットして再起動するとうまくいきました

npm start -- --reset-cache

これはindex.ios.jsファイルAppRegistry.registerComponent('Point', () => Point);の下部にあり、react-nativeからAppRegistryをインポートする必要があります

6

私はこの問題を抱えていました-アプリが動作していた時間にレポをリセットしたため、奇妙でした。問題は私のシミュレータ(iOS)にありました。

私にとっての解決策は

  1. シミュレータプログラムを強制終了(終了)
  2. その後-シミュレーターの実行時に開かれるターミナルウィンドウを閉じます(Metro Bundler) Image of my terminal window
2
t.ios

交換が必要

.setJSMainModulePath("index") with .setJSMainModulePath("index.Android")
0
Aristo Michael

Expoを使用しています

私の場合、app.jsonファイルに次のコードを追加することで問題を解決しました

"expo":{
  ...
  "Android": {
    "package": "com.mycompanyname.myappname
  }
}
0
illusionist
import { AppRegistry } from 'react-native';

AppRegistry.registerComponent('your app name',  () => point);
0
fazeel haider

私にとっては、コンピューターを再起動するだけでこの問題を解決できるようです。

ブランチを切り替えたり、gitを使用してブランチをマージした後に必要になることがよくあります。

0
Harry B