Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions docs/_getting-started-linux-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -127,29 +128,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
Comment thread
Pranav-yadav marked this conversation as resolved.
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 28 additions & 7 deletions docs/_getting-started-macos-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -142,31 +143,51 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:
<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessMacOS.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-macos-ios.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Installing dependencies

Expand DownExpand Up@@ -105,31 +106,53 @@ You might also want to ensure that all "shell script build phase" of your Xcode

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Swift or Objective-C, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

### Step 2: Start your application

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-ios
npm runios
```

</TabItem>
<TabItem value="yarn">

```shell
yarn ios
```

</TabItem>
</Tabs>

You should see your new app running in the iOS Simulator shortly.

![AwesomeProject on iOS](/docs/assets/GettingStartediOSSuccess.png)

`npx react-native run-ios` is one way to run your app. You can also run it directly from within Xcode.
This is one way to run your app. You can also run it directly from within Xcode.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
35 changes: 29 additions & 6 deletions docs/_getting-started-windows-android.md
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
import RemoveGlobalCLI from './\_remove-global-cli.md';
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

<h2>Installing dependencies</h2>

Expand DownExpand Up@@ -158,31 +159,53 @@ Click "Next" then "Finish" to create your AVD. At this point you should be able

First, you will need to start Metro, the JavaScript bundler that ships with React Native. Metro "takes in an entry file and various options, and returns a single JavaScript file that includes all your code and its dependencies."—[Metro Docs](https://facebook.github.io/metro/docs/concepts)

To start Metro, run `npx react-native start` inside your React Native project folder:
To start Metro, run following command inside your React Native project folder:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native start
npm start
```

`react-native start` starts Metro Bundler.
</TabItem>
<TabItem value="yarn">

> If you use the Yarn package manager, you can use `yarn` instead of `npx` when running React Native commands inside an existing project.
```shell
yarn start
```

</TabItem>
</Tabs>

> If you're familiar with web development, Metro is a lot like webpack—for React Native apps. Unlike Kotlin or Java, JavaScript isn't compiled—and neither is React Native. Bundling isn't the same as compiling, but it can help improve startup performance and translate some platform-specific JavaScript into more widely supported JavaScript.

<h3>Step 2: Start your application</h3>

Let Metro Bundler run in its own terminal. Open a new terminal inside your React Native project folder. Run the following:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npx react-native run-android
npm runandroid
```

</TabItem>
<TabItem value="yarn">

```shell
yarn android
```

</TabItem>
</Tabs>

If everything is set up correctly, you should see your new app running in your Android emulator shortly.

![AwesomeProject on Android](/docs/assets/GettingStartedAndroidSuccessWindows.png)

`npx react-native run-android` is one way to run your app - you can also run it directly from within Android Studio.
This is one way to run your app - you can also run it directly from within Android Studio.

> If you can't get this to work, see the [Troubleshooting](troubleshooting.md) page.

Expand Down
59 changes: 51 additions & 8 deletions docs/_integration-with-existing-apps-java.md
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

## Key Concepts

The keys to integrating React Native components into your Android application are to:
Expand DownExpand Up@@ -26,29 +28,53 @@ Go to the root directory for your project and create a new `package.json` file w
"version": "0.0.1",
"private": true,
"scripts": {
"start": "yarn react-native start"
"start": "react-native start"
}
}
```

Next, make sure you have [installed the yarn package manager](https://yarnpkg.com/lang/en/docs/install/).
Next, install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react-native
```

Install the `react` and `react-native` packages. Open a terminal or command prompt, then navigate to the directory with your `package.json` file and run:
</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react-native
yarn add react-native
```

</TabItem>
</Tabs>

This will print a message similar to the following (scroll up in the yarn output to see it):

> warning "react-native@0.70.5" has unmet peer dependency "react@18.1.0"

This is OK, it means we also need to install React:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
npm install react@version_printed_above
```

</TabItem>
<TabItem value="yarn">

```shell
$ yarn add react@version_printed_above
yarn add react@version_printed_above
```

</TabItem>
</Tabs>

Yarn has created a new `/node_modules` folder. This folder stores all the JavaScript dependencies required to build your project.

Add `node_modules/` to your `.gitignore` file.
Expand DownExpand Up@@ -122,11 +148,15 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi

Next, make sure you have the Internet permission in your `AndroidManifest.xml`:

<uses-permission android:name="android.permission.INTERNET" />
```xml
<uses-permission android:name="android.permission.INTERNET" />
```

If you need to access to the `DevSettingsActivity` add to your `AndroidManifest.xml`:

<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```xml
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
```

This is only used in dev mode when reloading JavaScript from the development server, so you can strip this in release builds if you need to.

Expand DownExpand Up@@ -365,10 +395,23 @@ You have now done all the basic steps to integrate React Native with your curren

To run your app, you need to first start the development server. To do this, run the following command in the root directory of your React Native project:

<Tabs groupId="package-manager" queryString defaultValue={constants.defaultPackageManager} values={constants.packageManagers}>
<TabItem value="npm">

```shell
$ yarn start
npm start
```

</TabItem>
<TabItem value="yarn">

```shell
yarn start
```

</TabItem>
</Tabs>

##### 2. Run the app

Now build and run your Android app as normal.
Expand Down
Loading