RN is a strange thing. It is a cross-platform mobile application development framework open-source by Facebook in April 2015. It is a derivative product of Facebook's open-source JS framework react on its native mobile application platform, currently, it supports iOS and Android platforms. However, it has been a constant criticism since its development. Although it has been upgrading and fixing problems, the problems are still varied. I am a hard-pressed IOS program, and keep exploring the pitfalls in RN. The following print is displayed when the login module is running from native to rn.
I believe everyone knows that the transition from native to rn has a short white screen, which is obvious during the first jump.
Rn requires a JS runtime environment. on iOS, the built-in javascriptcore is directly used as the JS parsing engine. on Android, the open-source JSC. So officially released by webkit.org is used. It also integrates other open-source components, such as fresco image components and okhttp network components. Rn will compile the JS Code of the application (including the dependent framework) into a JS file (usually named index. bundle), the overall framework of Rn is to explain how to run this JS script file. If it is a JS extension API, the native method is called directly through bridge; if it is a UI interface, map to the virtual Dom. js data structure and pass it to native through bridge. Then, set the view of each actual native based on the data attribute. Bridge is a communication mechanism between JS and Java code. the asynchronous callback result can be obtained by passing the bridge function into the module and method of the other party.
Some developers reported the following error when downloading a file through a URL link during the request process: [boringssl] nw_protocol_boringssl_error (1584). This is a problem on the background. In fact, boringssl is actually a bottom layer of Google (the branch of OpenSSL launched by Google in 2014 ). However, the cause of this situation is that the network requests HTTPS settings. The modification method is as follows:
1. Find the info. plist file in the IOS Project
2. Modify allow arbitrary loads under app Transport Security Settings
Or remove it directly. We recommend that you use the first method to support both HTTP and HTTPS.
After the modification, the effect was quite good, and it was solved.
Nw_protocol_boringssl_error (1584)