[API reference](https://evolu.dev/docs/api-reference) › [@evolu/react-native](https://evolu.dev/docs/api-reference/react-native) › createRun

## Call Signature

```ts
function createRun(): DisposableRun;
```

Defined in: [react-native/src/Task.ts:53](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/react-native/src/Task.ts#L53)

Creates a root [Run](https://evolu.dev/docs/api-reference/common/Task/interfaces/Run) for React Native.

Defects are reported with React Native's global `ErrorUtils.reportError` as
an `Error` from [defectToError](https://evolu.dev/docs/api-reference/common/Error/functions/defectToError), because React Native shows any other
value only as unhelpful text. A custom `reportDefect` dependency overrides
the React Native default. The platform-independent microtask reporter is used
when `ErrorUtils` is absent.

### Example

```ts
import {
  assertSame,
  createConsole,
  createConsoleFormatter,
  ok,
} from "@evolu/common";
import { createRun } from "@evolu/react-native";

const console = createConsole({
  formatter: createConsoleFormatter()({
    timestampFormat: "relative",
  }),
});

await using run = createRun({ console });
const appPromise = run.ok(() => ok("started"));

assertSame(await appPromise, "started");
```

## Call Signature

```ts
function createRun<D extends object>(deps: RunCustomDeps<D>): DisposableRun<D>;
```

Defined in: [react-native/src/Task.ts:56](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/react-native/src/Task.ts#L56)

Creates a root [Run](https://evolu.dev/docs/api-reference/common/Task/interfaces/Run) for React Native with custom dependencies.