前言 在學習一門新技術的你也許有跟我一樣的困惑,照著書上或者視頻上的敲了。但是就是有各種問題沒有出來自己想要的結果。我會將自己在這個過程中遇到的坑都記錄下來,不一定全覆蓋,但希望這些文章可以解決你的問題。 錯誤提示 Invariant Violation:Applicaction 項目名 has n ...
前言
在學習一門新技術的你也許有跟我一樣的困惑,照著書上或者視頻上的敲了。但是就是有各種問題沒有出來自己想要的結果。我會將自己在這個過程中遇到的坑都記錄下來,不一定全覆蓋,但希望這些文章可以解決你的問題。
錯誤提示
Invariant Violation:Applicaction 項目名 has not been registered.This is either due to a require() error during initialization or failure to call AppRegistry.registerCommponent.
這個錯誤的根本原因是根目錄./index.android.js中
AppRegistry.registerComponent('項目名',() => ...);
與./ios/項目名/appDelegate.m中的
RCTRootView*rootView = [[RCTRootViewalloc]initWithBundleURL:jsCodeLocation
moduleName:@"項目名" launchOptions:launchOptions];
或是./android/app/src/main/java/com/項目名/MainActivity.java中的
mReactRootView.startReactApplication(mReactInstanceManager, "項目名", null);
沒有保持一致,解決方法很簡單。編輯成相同的參數即可。
但是,還有一種情況!
即便你確保一致了但還是出現相同的錯誤提示,這又是怎麼搞得呢?這個時候你可以檢查一下你的命令行。有可能你同時在運行一個以上的程式,像我。如果你的react-native在運行程式A而你打開了程式B,也會出現相同的問題。解決方法很簡單,關掉命令行運行程式。ctrl+c,運行你想運行的程式。