Solemnly declare: before some of my articles, by some training institutions ruthlessly, batch, transported to their channel accounts, and added a lot of marketing nature of the content, will let a lot of readers think is my hair. So specially in this special statement, I hope readers will not be cheated. I only post articles on my official accounts Marno and Nuggets, and occasionally zhihu. And any unauthorized reprinting of my article is prohibited.

If you see plagiarism can immediately notify me, I will take up legal weapons, safeguard their own! I didn’t care too much before, thinking that my readers are not much, but recently I saw the public account blogger was sued, so I think it is necessary to pay attention to it.

takeaway

What Do You Dislike About React Native? What do you dislike about React Native right now? Did the official launch of this topic help RN’s long-suffering people to deal with negative feelings? Ha ha ~

I thought it was not easy to be praised, but was it not easy to be mocked? I thought the topic would be lost in an instant, but I was surprised to see only 13 responses as of the time I wrote the article. Of course, it seems that some of the replies were deleted by the authorities

I’ve been going through all of these responses, and there are some things that are really annoying about using RN. Below I randomly selected a few I think is good reply translation, I do not know whether these problems are also troubling you? Feel free to leave a comment below.

Are you ready? RN’s unofficial royal translator is here

1. Real-time reloading causes problems

The original:

After working with Typescript, I have to reload my apps a lot. When real-time reloading is used, the application does reload, but a red screen error message is displayed indicating Unable to find module for EventDispatche. This has been happening for some time. The problem of real-time reloading, combined with the fact that hot reloading is often unstable, can be a source of frustration at development time. This also causes Xcode to print a lot of useless logs, and many other related problems.

Marno:

It’s true that real-time reloading and hot reloading often cause problems, even if the red screen doesn’t matter. You can’t reload manually, but sometimes the Packager dies.

2. Make fun of the fourth company

Marno:

This guy seems to be a little excited, to the four in a row, seems to be “persecuted” for a long time, ha ha ha ~ across the screen can feel his mood when using RN. I will not translate his comments, but I feel that he should not understand native development, so there will be these problems.

Probably for many Web transfer RN people will encounter similar problems, such as native project configuration and so on, but this is not a problem for native transfer RN people, so maybe the official does not care too much about this, it also seems a little unfriendly for some novice.

But I don’t think these issues are important, and I don’t think there’s anything wrong with not fixing them, but focusing more on getting v1.0 out there.

3. Extend CLI functions

The original:

After starting Packager, I wanted to be able to control the App from the command line. For example, you can control real-time reloading from the command line, start debugger and so on.

These features will enhance the development experience, and the current way to open Dev Menu by shaking the phone or pressing a shortcut button is quite controversial.

Available commands should be generated after you run react-native start, such as:

Metr Bundler ready.
Loading dependency graph, done.

To hot reload press "r"
To restart the app press "R"
To toggle debugging mode press "d"
Copy the code

Marno:

This is the most liked reply so far. In a nutshell, he wants to be able to control app reloading and debug from the command line. I also feel that the current way to open Dev Menu by shaking the phone is particularly troublesome. Sometimes my hands are almost shaken off before the Menu is opened, or the Menu is opened after shaking for a long time, but when I stop, I accidentally touch the screen and close it. And it’s a little too…

So I quite agree with his idea. I don’t know if it can be implemented from the command line, but at least it can provide a setting that allows common actions to be suspended on the screen.

4.Expo!!

The original:

Don’t get me wrong, it’s not that I don’t like Expo, it’s just that it’s so heavy, no matter how simple your project is, a package with Expo will start at 20 MB.

Marno:

This guy is a little out of line. Why did you have to use Expo? Feel too occupy volume can need not! At that time, I wanted to simplify the project, so I searched if there was any way to simplify Expo. Later, the official forum found the official reply of Expo, saying that there was no way to simplify Expo at present.

Fortunately, he recognized the problem and has been refactoring since SDK32. From the recent release of SDK33, the change is quite big, moving many non-core functions into a separate repository, importing XXX form ‘expo’ through a specified module instead of importing it directly, in order to reduce the size.

5. Swift!

The original:

I think this will help a lot of JS developers (at least for me) get a quick look at native iOS code. Objective-c is less readable than Swfit or any other modern programming language. In addition, many iOS native projects are now being developed using Swift. Encouraging the use of Swfit in RN makes debugging native or writing code relatively easy.

I personally recommend RN:

  1. Change cli-generated appdelegate. m, appdelegate. h, and main.m files to Swift. Flutter, for example, provides the option to initialize a project using OC, Java or Swift or Kotlin.
  2. Encourage more community warehouses to use Swift to write iOS

Marno:

Agree, agree, like Swift, ohh! Swift, use it sometimes, use it all the time!

6. I want the built-in navigator

The original:

React Native doesn’t have a proper built-in navigation library, it should have a navigator that can switch animations using Native threads instead of having to block js threads.

Marno:

Ha ha ha ~ bitter navigation up all over the world, but it has been a lot better, basic is the react – navigation unify the whole country. RN started out with built-in navigators, and there were more than one solutions, but none of them worked out very well. At the same time, some useful navigators have emerged in the community, led by the React-nativetion

So eventually the authorities gave up the struggle, thinking that if the community did a good job, let’s use the community, and slowly removed the navigator from the built-in code. This guy probably hasn’t been using RN long enough to make this joke. And to the community maintenance, can be fast iteration, fast version. If there is a built-in bug, how long will it take to get an official fix?


I accidentally wrote 3000 words, it was too long and nobody read it, so there are some other replies, I won’t translate them all. If you are interested, you can read the original text, of course, you can also reply to some of the things you don’t like, as for whether the official will change, Rain girl no melon! You are also welcome to leave your comments below.

Discussion address: github.com/react-nativ…