Saya secara acak mendapatkan peringatan ini saat aplikasi iOS dimulai (yaitu tidak selalu).
Iya
Iya
OS: macOS Sierra 10.12.6
Node: 6.10.2
Benang: 1.0.2
npm: 5.4.2
Penjaga: 4.7.0
Xcode: Xcode 9.0 Versi 9A235
Android Studio: 2.1 AI-143.2915827
Paket: (ingin => dipasang)
bereaksi: ^ 16.0.0 => 16.0.0
react-native: ^ 0.49.3 => 0.49.3
Tanpa peringatan
T / A
https://github.com/antoinerousseau/react-native-custom-components
https://github.com/rebeccahughes/react-native-device-info
https://github.com/evollu/react-native-fcm
https://github.com/gwmccull/react-native-polyfill
https://github.com/getsentry/react-native-sentry
Sama disini!
mendapat masalah kuning ini untuk iOS
Saya melihat ini juga. Mungkin terkait dengan # 11196.
Saya yakin inilah yang juga menyebabkan aplikasi macet saat mencoba memuat ulang; itu gagal dengan
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This method must not be called before the JS thread is created'
Saya juga mendapatkan kesalahan ini dari waktu ke waktu di iOS 11 dan saya tidak tahu cara men-debug ini untuk memberikan informasi lebih lanjut. Stacktrace tidak membantu sama sekali dalam kasus ini.
+1
+1
Harap berhenti menambahkan +1
s, ini menghasilkan pemberitahuan email yang tidak menambahkan informasi apa pun. Gunakan fitur "tambahkan reaksi" sebagai gantinya.
Masalah yang sama. Berikut paket yang saya gunakan:
Mengingat persimpangan dengan daftar @antoinerousseau , kemungkinan lokasi untuk bug ini adalah:
Saya baru saja menambahkan react-native-device-info, dan pindah dari rn 0,49 ke 0,50. dan sekarang saya menemukan bug ini. Tidak tahu apakah itu masalahnya, tetapi saat saya mendapatkan ini.
Masalah yang sama ...
Jadi itu bukan salahku?
Masalah yang sama ... Apakah Anda punya solusi?
Masalah yang sama. Satu-satunya paket dari daftar di atas yang kami gunakan adalah react-native-sentry
.
Masalah yang sama di sini hari ini saya telah memulai aplikasi baru dan hanya paket yang telah saya tambahkan
"native-base": "^ 2.3.3",
"react": "16.0.0",
"react-native": "0.50.3",
"react-native-fcm": "^ 10.0.3"
@rizzichael
+1
"react-native": "0.49.3",
aplikasi macet saat pertama kali memuat secara acak.
ada yang menyelesaikannya ??
@dantman Saya mulai melihat masalah segera setelah menginstal react-native-device-info, jadi saya sangat curiga masalah tersebut terkait, setidaknya dalam kasus kami, dengan paket khusus itu.
Satu-satunya paket lain yang saya gunakan react-native-keychain, yang saya instal beberapa waktu yang lalu tanpa masalah apa pun, jadi sepertinya taruhan yang bagus.
rebeccahughes / react-native-device-info # 260 sepertinya memiliki pesan yang merujuk ke RNDeviceInfo
sedangkan bug ini merujuk ke RCTDevLoadingView
. Jadi mungkin ada lebih dari satu titik yang memicu peringatan ini.
Jika Anda akan meletakkan breakpoint pada baris berikut:
RCTLogWarn(@"RCTBridge required dispatch_sync to load %@. This may lead to deadlocks", _moduleClass);
Anda dapat melihat modul / tumpukan mana yang bertanggung jawab untuk memuat RCTDevLoadingView
dalam kasus saya RCTCxxBridge.mm
yang memuat bundel jarak jauh dan melaporkan kemajuan unduhan pada RCTDevLoadingView
:
... onProgress:^(RCTLoadingProgress *progressData) {
#if RCT_DEV && __has_include("RCTDevLoadingView.h")
RCTDevLoadingView *loadingView = [weakSelf moduleForClass:[RCTDevLoadingView class]];
[loadingView updateProgress:progressData];
#endif
}];
Di sini RCTCxxBridge menggunakan moduleForClass
yang akan memuat instance modul jika belum tersedia. Karena antrian yang digunakan untuk onProgress
blok RCTDevLoadingView
akan dimuat pada antrian non-utama, sedangkan RCTDevLoadingView
membutuhkan pengaturan antrian utama.
Saya dapat mengatasi peringatan tersebut dengan secara optimis memuat RCTDevLoadingView
dengan mengembalikan sebuah instance dari RCTBridgeDelegate
menggunakan:
- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge;
Saya dapat mengatasi peringatan tersebut dengan memperbarui AppDelegate.m
#if RCT_DEV
#import <React/RCTDevLoadingView.h>
#endif
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation
moduleProvider:nil
launchOptions:launchOptions];
#if RCT_DEV
[bridge moduleForClass:[RCTDevLoadingView class]];
#endif
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"Test"
initialProperties:nil];
...
}
react-native: 0,50,4
masalah yang sama ...
react-native: 0,51.0
masalah yang sama ...
"bereaksi": "16.2.0",
"react-native": "0.52.0",
masalah yang sama ...
"bereaksi": "16.2.0",
"react-native": "0.51.0",
"react-native-device-info": "0.13.0"
Solusi saya di sini adalah memindahkan react-native-device-info dari file pod dan menautkannya secara manual dalam proyek. Itu sepertinya menyelesaikan masalah. Saya pikir pendekatan lain dapat memasukkan CxxBridge sebagai subspec untuk React dalam file pod, tetapi itu membutuhkan Folly (dan juga dorongan), dan seluruh pengaturan itu rumit / membutuhkan waktu lama. Jika Anda menginginkan perbaikan cepat, cukup hapus paket yang menyebabkan masalah dari pod.
Tidak ada "react-native-device-info" yang terpasang:
Masalah ada di 0.54.2:
"react": "16.3.0-alpha.2",
"react-native": "0.54.2",
"react-native-action-button": "^ 2.8.4",
"react-native-admob": "^ 2.0.0-beta.4",
"react-native-animatable": "^ 1.2.4",
"react-native-awesome-alerts": "^ 1.0.7",
"react-native-elements": "^ 0.19.0",
"react-native-fbsdk": "^ 0.7.0",
"react-native-linear-gradient": "^ 2.4.0",
"react-native-parallax-scroll-view": "^ 0.21.0",
"react-native-photo-grid": "0.0.2",
"react-native-responsive-dimensional": "^ 1.0.2",
"react-native-snap-carousel": "^ 3.6.0",
"react-native-vector-icons": "^ 4.5.0",
"react-navigation": "^ 1.5.7"
Itu dengan "react-native-action-button": "^ 2.8.4", Menambahkan shadowStyle={{shadowOpacity: 0.9}}
memecahkan peringatan ..
Masalah yang sama di sini.
Masalah yang sama.
RN 0,54,4
Ada yang punya solusinya?
Kesalahan datang bahkan untuk proyek yang baru / baru dibuat.
"bereaksi": "16.3.1",
"react-native": "0.54.4"
sama
+1
@antoinerousseau ada pembaruan tentang masalah ini?
Saya tidak akan merekomendasikan solusi yang diberikan oleh @devburmistro. Untuk proyek saya, penyertaannya menciptakan semacam kondisi balapan di mana kesalahan pernyataan ini akan terwujud secara acak saat memulai saat menjalankannya dari simulator.
Pengaturan saya:
react-native-cli: 2.0.1
react-native: 0.53.0
Saya mulai mengalami masalah ini sekarang setelah menyiapkan repo saya dari awal dan memasukkan kode js murni kembali ke sana. Perbedaan potensial antara repo sebelumnya dan baru ini adalah sekarang saya menggunakan Cocoapods.
Ada yang tidak menggunakan Cocoapods?
Ini terjadi tepat setelah saya menambahkan
react-native-blur
ke tampilan Berbagi Ekstensi, bersarang di dalamnya
react-native-modalbox
@Babazon, apakah Anda menggunakan debugger saat ini terjadi?
Maaf. Saya tidak dapat men-debug / log konsol dari tampilan Ekstensi Berbagi, hanya aplikasi utama.
+1
Terima kasih telah memposting ini! Sepertinya masalah Anda mungkin mengacu pada versi React Native yang lebih lama. Dapatkah Anda mereproduksi masalah tersebut pada rilis terbaru, v0.55 ?
Terima kasih atas kontribusi Anda.
Masalah @ react-native-bot masih terjadi di React Native 0.55
@ react-native-bot Saat menggunakan cocoapods untuk mengelola react native, masalah akan muncul.
versi yang saya coba 0.50.4 dan 0.55.4
Baru saja menginstal react-native-svg di React Native 0.55.3 dan masalah ini muncul.
masalah masih terjadi pada:
react-native-cli: 2.0.1
react-native: 0,55,4
Saya mendapat peringatan yang sama persis dengan proyek baru yang dibuat tanpa kode apa pun yang ditambahkan tetapi hanya dependensi Firebase yang dimasukkan.
Saya menggunakan: react: 16.3.1
react-native: 0,55,4
Terima kasih
Saya mengalami masalah yang sama tetapi, bagi saya itu karena jendela terminal sebelumnya berjalan ketika saya menjalankan kembali build dari Xcode. Saya baru saja keluar dari terminal dan simulator dan menjalankan build lagi, masalah ini teratasi.
Saya juga telah menginstal react-native-device-info, tetapi pesan kuningnya sedikit berbeda untuk saya: 'RCTBridge memerlukan dispatch_sync untuk memuat RCCManagerModule ...'
Tadinya saya akan mengatakan saya mendapatkan peringatan ini ketika saya map
atas array untuk mengembalikan elemen baru atau meneruskan style
prop ke komponen khusus, tetapi sekarang peringatan itu tampaknya tidak dapat diprediksi.
Mengalami masalah ini di OS11 juga.
Saya melihat beberapa orang di sini yang telah menyebutkan menggunakan ikon-vektor.
Saya juga memiliki masalah yang sama untuk saya, saya telah memutuskan tautan dan menghapus info-react-native-device-info dan sekarang peringatan itu tidak muncul.
Saya memiliki masalah yang sama setelah menambahkan react-native-vector-icons, menghapusnya dan peringatan hilang.
FYI, peringatan ini muncul hari ini setelah reload dengan remote debugger aktif. Mematikan remote, melakukan reload, tidak ada peringatan. Menghidupkan kembali remote, melakukan reload, tanpa peringatan.
FYI, peringatan ini muncul hari ini setelah reload dengan remote debugger aktif. Mematikan remote, melakukan reload, tidak ada peringatan. Menghidupkan kembali remote, melakukan reload, tanpa peringatan.
~ Setelah membaca komentar @mokriya, saya memuat ulang debugger dan peringatannya berhenti. Ada kemungkinan bahwa perpindahan antara emulator / simulator Android dan iOS dengan tab debugger terbuka di browser menyebabkan hal ini. ~
Bukan bukan itu
iOS 12, RN 0.57.0 masalah yang sama.
bagaimana mengatasinya?
atau abaikan?
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['RCTBridge']);
Ya, saya mengalami masalah ini juga setelah menambahkan react-native-video, tetapi apa artinya? Tampaknya tidak mencegah video diputar. Juga mengapa semua komponen pihak ketiga ini menyebabkan kesalahan? Apakah kami melewatkan sesuatu dalam mengembangkan modul asli kami?
Mendapatkan masalah yang sama di iOS 12.1, RN 0.57.4 tanpa react-native-device-info
Saya punya beberapa masalah
"lodash": "^4.17.10",
"react": "16.4.1",
"react-native": "0.56.0",
"react-native-check-box": "^2.1.0",
"react-native-collapsible": "^1.2.1",
"react-native-elements": "^0.19.1",
"react-native-google-analytics-bridge": "^5.8.0",
"react-native-google-places-autocomplete": "^1.3.9",
"react-native-map-clustering": "^1.3.0",
"react-native-maps": "^0.21.0",
"react-native-masked-text": "^1.7.2",
"react-native-modal-picker": "0.0.16",
"react-native-onesignal": "^3.2.8",
"react-native-simple-radio-button": "^2.7.2",
"react-native-svg": "^8.0.0",
"react-native-ui-kitten": "^3.0.1",
"react-native-vector-icons": "^5.0.0",
"react-navigation": "^2.11.2",
"rn-sliding-up-panel": "^1.2.1",
"victory-native": "^30.5.0"
Di IOS, mendapatkan "RCTBridge membutuhkan dispatch_snyc untuk memuat RCTDevLoadingView. Hal ini dapat menyebabkan kebuntuan."
Mungkin Anda harus Project -> Clean
di Xcode Anda, lalu jalankan kembali aplikasi Anda.
Saya telah mengkonfirmasi bahwa komentar ini adalah solusinya. Terima kasih @mattijsf!
Temukan RCTBridgeDelegate
dan ganti metode extraModulesForBridge
.
<strong i="11">@interface</strong> MyBridgeDelegate : NSObject <RCTBridgeDelegate>
<strong i="12">@end</strong>
<strong i="13">@implementation</strong> MyBridgeDelegate
- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge
{
return @[
#if RCT_DEV
[bridge moduleForClass:[RCTDevLoadingView class]],
#endif
];
}
<strong i="14">@end</strong>
class MyBridgeDelegate: NSObject, RCTBridgeDelegate {
func extraModules(for bridge: RCTBridge!) -> [RCTBridgeModule]! {
var modules: [Any]! = []
if RCT_DEV == 1 {
modules.append(bridge.module(for: RCTDevLoadingView.self))
}
return modules as? [RCTBridgeModule]
}
}
Repro di iOS12, RN 0.57.8
ketergantungan saya, masalah yang sama
@aleclarson apa sebenarnya yang dilakukan kode itu?
@ccorcos Memuat RCTDevLoadingView
sebelumnya, jadi tidak perlu memblokir utas utama saat dimuat oleh RN. Komentar ini mungkin bisa menjadi solusi yang lebih mudah untuk Anda.
Tidak yakin apakah ini masih terjadi untuk orang lain tetapi masih terjadi untuk saya dengan RN 0.57.8 + iOS 11.3 (setidaknya)
Saya berhasil menggunakan perubahan dari komentar di atas oleh @devburmistro
Menghadapi masalah ini
RN 0.58.3
iOS 11.4, 12.1
dan itu menyebabkan kebuntuan. Itu terjadi pada saya ketika saya menutup modal kustom
Saya belum pernah mengalami ini di 0,57,8 sebelumnya yang baik-baik saja
Sama di sini, dapatkan ini setelah meningkatkan ke RN 0.58.3
kesalahan persis saya adalah: Unable find module for DevLoadingView
, solusi di atas tidak memperbaikinya untuk saya
Tampaknya terkait dengan commit ini, yang sebenarnya ditambahkan pada RN 0.58.3
https://github.com/facebook/react-native/commit/d7a0c44590bcf3fb9d055aeae3391d5bcd7e21be#diff -a2a67635fffd7b690d14dc17ae563a71
Saya mengalami masalah "Tidak dapat menemukan modul untuk DevLoadingView" yang sama seperti @oferRounds setelah meningkatkan ke RN 0.58.3 hari ini.
Tampaknya terpicu saat aplikasi pertama kali dibuka di simulator. Reload berikutnya (cmd-R) tidak menampilkan kesalahan.
EDIT: mengajukan masalah terpisah untuk kesalahan khusus ini: # 23235
Saya juga dapat mengonfirmasi bahwa ini masih menjadi masalah di iOS dengan 0.58.3.
Beberapa pengamatan menarik:
_Edit: Saya dapat mengonfirmasi bahwa solusi ini masih merupakan solusi yang layak._
Saya dapat mengatasi peringatan tersebut dengan memperbarui
AppDelegate.m
#if RCT_DEV #import <React/RCTDevLoadingView.h> #endif ... - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation moduleProvider:nil launchOptions:launchOptions]; #if RCT_DEV [bridge moduleForClass:[RCTDevLoadingView class]]; #endif RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"Test" initialProperties:nil]; ... }
Ini berhasil untuk saya.
Adakah yang bisa mendaftarkan RCTBridgeDelegate kustom saat menggunakan react-native-navigation? Anda seharusnya dapat mengirimkan delegasi melalui parameter bridgeManagerDelegate
, tetapi tampaknya rusak (RCTBridge yang disediakan untuk extraModulesForBridge
selalu nil
).
Saya baru mulai mendapatkan ini segera setelah menambahkan react-native-device-info
pada RN 0.58.6 dan iOS 12.
Oke, komentar ini sepertinya telah memperbaikinya untuk saya.
React Native 0.59.1
Saya mulai melihat peringatan ini tepat setelah menginstal react-native-device-info juga, apakah ada solusi nyata?
Saya juga melihat ini secara acak, dan saya tidak membuat perubahan dalam kode aplikasi saya selain yang diperlukan (config) untuk membuat semuanya berfungsi kembali, dalam meningkatkan dari RN 0,57,8 menjadi 0,59,5. Dalam kasus saya, lib yang dimaksud adalah CodePush, dengan 2 peringatan yellowbox:
RCTBridge required dispatch_sync to load CodePush. This may lead to deadlocks
dan
Required dispatch_sync to load constants for CodePush. This may lead to deadlocks
Masalah ini panjang. Saya berasumsi bahwa memaku akar masalahnya masih merupakan misteri? Beri tahu saya info debug lain yang bisa saya berikan untuk membantu.
Package.json saya:
{
"name": "wonderswipe",
"version": "0.0.1",
"private": true,
"eslintConfig": {
"parserOptions": {
"ecmaVersion": 7,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"env": {
"browser": false,
"node": true
},
"plugins": [
"react",
"react-native",
"react-hooks"
],
"rules": {
"comma-dangle": [
2,
"always-multiline"
],
"semi": [
2,
"never"
],
"react-native/no-unused-styles": 2,
"react-native/split-platform-components": 2,
"react-hooks/rules-of-hooks": "error"
}
},
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"postinstall": "patch-package"
},
"dependencies": {
"@postlight/mercury-parser": "^2.0.0",
"@react-native-community/async-storage": "^1.3.3",
"@react-native-community/viewpager": "^1.1.6",
"babel-plugin-idx": "^2.4.0",
"buffer": "^5.2.1",
"he": "^1.1.0",
"idx": "^2.5.5",
"lodash": "^4.17.2",
"moment": "^2.19.0",
"moment-timezone": "^0.5.10",
"node-summary": "../node-summary",
"react": "16.8.3",
"react-native": "^0.59.4",
"react-native-actionsheet": "^2.4.2",
"react-native-blur": "^3.2.0",
"react-native-cached-image": "../react-native-cached-image",
"react-native-cheerio": "^1.0.0-rc.4",
"react-native-code-push": "^5.3",
"react-native-custom-tabs": "^0.1.7",
"react-native-easy-toast": "^1.0.9",
"react-native-firebase": "^5.3.1",
"react-native-fit-image": "^1.4.8",
"react-native-flanimatedimage": "^0.4.0",
"react-native-highlight-words": "^1.0.1",
"react-native-keep-awake": "^4.0.0",
"react-native-linear-gradient": "^2.0.0",
"react-native-modal-dropdown": "^0.6.2",
"react-native-modalbox": "^1.6.0",
"react-native-orientation": "^3.1.3",
"react-native-parallax-scroll-view": "../react-native-parallax-scroll-view",
"react-native-rate": "^1.0.8",
"react-native-safari-view": "^2.0.0",
"react-native-sentry": "^0.42.0",
"react-native-sha256": "^1.1.1",
"react-native-status-bar-size": "^0.3.2",
"react-native-swiper": "^1.5.14",
"react-native-tooltip": "^5.2.0",
"react-native-tts": "^3.0.0",
"react-native-vector-icons": "^6.4.2",
"react-native-webview": "^5.7.0",
"react-native-webview-bridge": "^0.40.1",
"react-redux": "^7.0.1",
"redux": "^4.0.0",
"redux-thunk": "^2.1.0"
},
"devDependencies": {
"babel-eslint": "^10.0.1",
"eslint": "^5.15.1",
"eslint-plugin-react": "^7.12.4",
"eslint-plugin-react-hooks": "^1.0.1",
"eslint-plugin-react-native": "^3.6.0",
"patch-package": "^6.1.2",
"postinstall-postinstall": "^2.0.0",
"redux-logger": "^3.0.6"
},
"resolutions": {
"babel-core": "7.0.0-bridge.0"
}
}
saya memperbaiki kesalahan ini dengan komentar @grossingdev . tetapi setelah memperbarui react-native ke versi 0.59.8. kesalahan ini telah datang lagi
Di react-native 0.59.3, berikut adalah tampilan kode untuk mengatasi masalah tersebut:
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
#if RCT_DEV
[bridge moduleForClass:[RCTDevLoadingView class]];
#endif
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"YourAppName"
initialProperties:nil];
Menghadapi peringatan yang sama setelah memperbarui file AppDelegate.m sambil Mengintegrasikan peta google react-native-maps
di ios App.
"react-native": "0.59.5"
Bagi saya - ini berhasil ---
"bereaksi": "16.8.3",
"react-native": "0.59.9",
AppDelegate.m file
#if RCT_DEV
#import <React/RCTDevLoadingView.h>
#endif
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
// RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
// moduleName:@"mobileapp"
// initialProperties:nil];
NSURL *theurl ;
#if DEBUG
theurl = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
theurl = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:theurl
moduleProvider:nil
launchOptions:launchOptions];
#if RCT_DEV
[bridge moduleForClass:[RCTDevLoadingView class]];
#endif
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"mobileapp"
initialProperties:nil];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
@ amitkumar3968 format komentar Anda sebagai kode
Saya baru saja mendapat kesalahan serupa:
package.json saya:
{
"name": "auth",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"firebase": "^6.3.1",
"react": "16.8.6",
"react-native": "0.60.0"
},
"devDependencies": {
"@babel/core": "7.5.0",
"@babel/runtime": "7.5.0",
"@react-native-community/eslint-config": "0.0.3",
"babel-jest": "24.8.0",
"eslint": "6.0.1",
"jest": "24.8.0",
"metro-react-native-babel-preset": "0.54.1",
"react-test-renderer": "16.8.6"
},
"jest": {
"preset": "react-native"
}
}
Reload memperbaikinya, tetapi sepertinya ada sesuatu yang tidak beres jika ini terjadi secara acak.
Masalah ini hanya terjadi pada saya ketika saya menonaktifkan debugger. Saat membuka Perf Monitor, saya perhatikan bahwa RAM berubah dari ± 100MB menjadi ± 300MB setelah dinonaktifkan.
Dengan debugger:
Tanpa debugger:
Solusi yang diusulkan tidak berfungsi dalam kasus saya, karena hanya berhenti menampilkan peringatan, tetapi tidak menyelesaikan masalah dengan memori.
Saya ingin tahu apakah masalah ini akan memengaruhi kinerja aplikasi dalam mode rilis.
Solusi yang disebutkan di atas memecahkan masalah ini untuk saya juga, di React Native 0.59.10
:
diff --git a/ios/Foo/AppDelegate.m b/ios/Foo/AppDelegate.m
index e446e79..2c28719 100644
--- a/ios/Foo/AppDelegate.m
+++ b/ios/Foo/AppDelegate.m
@@ -18,6 +18,11 @@
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
+// https://github.com/facebook/react-native/issues/16376#issuecomment-350523177
+#if RCT_DEV && __has_include(<React/RCTDevLoadingView.h>)
+#import <React/RCTDevLoadingView.h>
+#endif
+
<strong i="7">@implementation</strong> AppDelegate
@@ -39,6 +44,13 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
+
+ // https://github.com/facebook/react-native/issues/16376#issuecomment-350523177
+ #if RCT_DEV && __has_include(<React/RCTDevLoadingView.h>)
+ [bridge moduleForClass:[RCTDevLoadingView class]];
+ #endif
+
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"Foo" initialProperties:nil];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
Satu-satunya perbedaan di sini adalah saya mencocokkan logika yang sama persis untuk memuatnya (bagian RCT_DEV && __has_include(<React/RCTDevLoadingView.h>)
) ...
Baru saja mendapat 2 dengan react-native-firebase
. Jarang terjadi tetapi:
Saya dapat membuat ulang masalah ini dengan menambahkan ikon aplikasi ke direktori Images.xcassets/AppIcon.appiconset
dari proyek uji saya yang baru dibuat menggunakan react-native 0.61.2. Menambahkan baris kode yang disebutkan dalam masalah ini memecahkan masalah bagi saya.
react-native 0.59.10
masalah yang sama.
masalah yang sama di sini !! ada yang memecahkan masalah ini?
Saya dapat mengatasi peringatan tersebut dengan memperbarui
AppDelegate.m
#if RCT_DEV #import <React/RCTDevLoadingView.h> #endif ... - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation moduleProvider:nil launchOptions:launchOptions]; #if RCT_DEV [bridge moduleForClass:[RCTDevLoadingView class]]; #endif RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"Test" initialProperties:nil]; ... }
solusi ini menyelesaikan peringatan. Terima kasih banyak.
Masalah yang sama, tetapi jika saya menghapus blok kode componentDidUpdate, peringatan ini menghilang. Tapi tapi tapi aku butuh componentDidUpdate.
pertama: buka Xcode, jawab normal Xcode jika ingin menginstal komponen: klik install
Saat Anda memperbarui perangkat lunak macOS, Anda harus membuka Xcode untuk pembaruan
Saya dapat mengatasi peringatan tersebut dengan memperbarui
AppDelegate.m
#if RCT_DEV #import <React/RCTDevLoadingView.h> #endif ... - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation moduleProvider:nil launchOptions:launchOptions]; #if RCT_DEV [bridge moduleForClass:[RCTDevLoadingView class]]; #endif RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"Test" initialProperties:nil]; ... }
@grossingdev apa itu jsCodeLocation please? Saya tahu itu seharusnya menjadi URL tetapi harus mengarah ke apa?
Baru saja mendapat 2 dengan
react-native-firebase
. Jarang terjadi tetapi:
Firebase menyebabkan kesalahan ini bagi saya. Pikiran berbagi bagaimana Anda menyelesaikannya? @bayu_joo
@ abdi4 Saya baru saja mengalami ini juga, apakah Anda berhasil menyelesaikannya?
@zloka tidak ini terjadi secara acak dan saya tidak dapat membuatnya kembali
Cara termudah untuk mengabaikan peringatan ini atau peringatan lainnya adalah
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings([
'RCTBridge'
]);
Masalah ini muncul untuk saya secara non-deterministik. Satu-satunya perbaikan yang saya miliki setiap kali itu terjadi, adalah menghapus aplikasi dari perangkat saya dan menjalankan kembali.
Solusi Cepat:
biarkan bridge = RCTBridge (bundleURL: jsCodeLocation, moduleProvider: nil, launchOptions: nil)
#jika RCT_DEV
bridge? .module (untuk: RCTDevLoadingView.self)
#berakhir jika
biarkan rootView = RCTRootView (bridge: bridge !, moduleName: "AppMain", initialProperties: nil)
Halo, sepertinya tidak ada aktivitas terkait masalah ini akhir-akhir ini. Apakah masalah sudah diperbaiki atau masih membutuhkan perhatian masyarakat? Masalah ini mungkin ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Anda juga dapat memberi label masalah ini sebagai "Diskusi" atau menambahkannya ke "Backlog" dan saya akan membiarkannya terbuka. Terima kasih atas kontribusi Anda.
Halo, sepertinya tidak ada aktivitas terkait masalah ini akhir-akhir ini. Apakah masalah sudah diperbaiki atau masih membutuhkan perhatian masyarakat? Masalah ini mungkin ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Anda juga dapat memberi label masalah ini sebagai "Diskusi" atau menambahkannya ke "Backlog" dan saya akan membiarkannya terbuka. Terima kasih atas kontribusi Anda.
Inilah aktivitas Anda. Peringatan terus muncul di aplikasi baru yang segar.
@sospedra dapatkah Anda memberikan repo ini terjadi dengan template React Native tanpa ketergantungan eksternal?
Untuk kasus di mana hal itu terjadi dengan pustaka pihak ketiga, masalah harus diajukan dengan pustaka tersebut
masalah yang sama pada 0.63.2
Saya tidak yakin apa penyebabnya, ini terjadi secara acak terkadang semua interaksi aplikasi tidak lagi berfungsi.
Peringatan yang sama hanya datang dengan react-native-macos di Metro (manual) reload , bukan pada update perubahan kode, dan tidak dengan ios, android, atau windows.
NB: untuk saya dengan RN 0.62.2
Mendapat peringatan yang sama dengan Aplikasi Catalyst.
Saya menutup simulator, mematikan metro, di XCode build and run
Peringatan menghilang!
Menutup bundler metro dan menghapus aplikasi dari simulator menghilangkan peringatan. Tapi tidak yakin apa yang terjadi di balik terpal. peringatan muncul setelah menambahkan paket thunk.
Komentar yang paling membantu
Harap berhenti menambahkan
+1
s, ini menghasilkan pemberitahuan email yang tidak menambahkan informasi apa pun. Gunakan fitur "tambahkan reaksi" sebagai gantinya.