Useful or not, from you.
react-native React-native I18nManager.forceRTL doesn't applies changes in first app load

<!-- PLEASE DON'T DELETE THIS TEMPLATE UNTIL YOU HAVE READ THE FIRST SECTION. -->

Is this a bug report?

Probably!

<!-- If you answered "Yes":

We expect that it will take you about 30 minutes to produce a high-quality bug report.
While this may seem like a lot, putting care into issues helps us fix them faster.
For bug reports, it is REQUIRED to fill the rest of this template, or the issue will be closed.

If you answered "No":

We use GitHub Issues exclusively for tracking bugs in React Native. If you're looking for help,
the Community page at http://facebook.github.io/react-native/help.html list various resources 
that should help you get started.

Now scroll below! -->

Environment

Environment: OS: Linux 4.4 Node: 7.10.1 Yarn: 1.0.1 npm: 4.2.0 Watchman: 4.7.0 Xcode: N/A Android Studio: Not Found

Packages: (wanted => installed) react: 16.2.0 => 16.2.0 react-native: 0.52.2 => 0.52.2

Target Platform: Android <!-- In your terminal run react-native info and paste its contents here. Next, specify your target platform, like this:

Environment: OS: macOS Sierra 10.12.6 Node: 8.4.0 Yarn: 0.27.5 npm: 5.4.0 Watchman: 4.7.0 Xcode: Xcode 8.3.3 Build version 8E3004b Android Studio: 2.3 AI-162.4069837

Packages: (wanted => installed) react-native: 0.48.1 => 0.48.1 react: 16.0.0-alpha.12 => 16.0.0-alpha.12

Target Platform: iOS (10.3)

***Make sure you are on v0.48.0 or greater of react-native, otherwise you may get this error:

Unrecognized command 'info' Run react-native --help to see list of all available commands -->

Expected Behavior

<!-- How did you expect your project to behave? It’s fine if you’re not sure your understanding is correct. Just write down what you thought would happen. -->

I have an app that created by awesome React-native and my layout designed to be in RTL mode. I've set up an option for forcing the layout to be RTL.

Actual Behavior

<!-- Did something go wrong? Is something broken, or not behaving as you expected? Describe this section in detail, and attach screenshots if possible. Don't just say "it doesn't work"! -->

But my option doesn't works in first app load after installing. This feature applies in second run I wrote this option in our index.js:

import React, { Component } from 'react';
import { I18nManager } from 'react-native';
import { Provider } from 'react-redux';

I18nManager.forceRTL(true);

class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <PersistGate loading={null} persistor={persistor}>
          <MainStack />
        </PersistGate>
      </Provider>
    );
  }
}

export default App;

<!-- Please share a project that reproduces the issue. There are two ways to do it:

* Create a new app using https://snack.expo.io/ and try to reproduce the issue in it.
  This is useful if you roughly know where the problem is, or can’t share the real code.

* Or, copy your app and remove things until you’re left with the minimal reproducible demo.
  This is useful for finding the root cause. You may then optionally create a Snack.

This is a good guide to creating bug demos: https://stackoverflow.com/help/mcve Once you’re done, copy and paste the link to the Snack or a public GitHub repository below: -->

That's a useful answer
Without any help

@sm2017 Add the following

#import <React/RCTI18nUtil.h>

and

  [[RCTI18nUtil sharedInstance] allowRTL:YES];
  [[RCTI18nUtil sharedInstance] forceRTL:YES];

inside didFinishLaunchingWithOptions