前言
在學(xué)習(xí)一門新技術(shù)的你也許有跟我一樣的困惑,照著書上或者視頻上的敲了。但是就是有各種問題沒有出來自己想要的結(jié)果。我會將自己在這個過程中遇到的坑都記錄下來,不一定全覆蓋,但希望這些文章可以解決你的問題。
錯誤提示
Invariant Violation:Applicaction 項目名 has not been registered.This is either due to a require() error during initialization or failure to call AppRegistry.registerCommponent.
這個錯誤的根本原因是根目錄./index.ios.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);
沒有保持一致,解決方法很簡單。編輯成相同的參數(shù)即可。
但是,還有一種情況!
即便你確保一致了但還是出現(xiàn)相同的錯誤提示,這又是怎么搞得呢?這個時候你可以檢查一下你的命令行。有可能你同時在運行一個以上的程序,像我。如果你的react-native在運行程序A而你打開了程序B,也會出現(xiàn)相同的問題。解決方法很簡單,關(guān)掉命令行運行程序。ctrl+c,運行你想運行的程序。