Gracias por las respuestas a partir de ahora,

Soy un novato en Reaccionar Nativo, quiero hacer una aplicación multiplataforma por lo que he creado index.js:

import React from 'react';
import {
    Component,
    View,
    Text,
} from 'react-native';

class ReactApp extends Component {

    render() {
        return (
            <View><Text>Hello world</Text></View>
        );
    }
}

module.exports = ReactApp;

Luego me importan index.js de ambos index.ios.js y index.android.js como este:

import { AppRegistry } from 'react-native';
import ReactApp from './index';

AppRegistry.registerComponent('ReactApp', () => ReactApp);

Creo que después de esto debería funcionar pero me sale esto
error:

Cómo utilizar index.js en lugar de (index.ios.js, index.android.js) en Reaccionar Nativo de la cruz-plataforma de la aplicación?

por favor, cambiar el nombre de índice de archivo e inténtelo de nuevo
Su imagen no está funcionando. También, usted no indicar qué es lo que estaban tratando de lograr al hacer esto.
la imagen está trabajando, creo, porque he probado en mi teléfono también, quiero hacer una aplicación multiplataforma
como ¿cómo? y ¿por qué?
reemplazar primera línea en index.js con esto y tratar de importación de Reaccionar, {Componente} de ‘reaccionar’;

OriginalEl autor davut dev | 2017-06-28

3 Comentarios

  1. 33

    Después de Reaccionar v0.49, usted no necesita index.ios.js y index.android.js. Sólo se necesita el index.js:

    import {AppRegistry} from 'react-native';
    import App from './app/App';
    
    AppRegistry.registerComponent('appMobile', () => App);

    (reemplazar appMobile con el nombre de tu aplicación)

    Fuente: (https://github.com/facebook/react-native/releases/tag/v0.49.0)

    Nuevos proyectos tienen un único punto de entrada (index.js) a partir de ahora

    Eso era lo que estaba buscando, porque he trabajado con otra versión (la más antigua) y vi los 2 archivos diferentes, pero desde 0.49 obtendrá un archivo después de crear la aplicación.
    Si desea actualizar su RN revisión de la versión facebook.github.io/react-native/docs/upgrading.html (react-native-git-upgrade debería funcionar como un charme)
    es posible que todavía el uso de los 2 archivos con el nuevo reaccionar nativos?
    Yo no lo creo
    El problema de explicar algo: github.com/facebook/react-native/issues/…

    OriginalEl autor Floris M

  2. 7

    Usted va sobre esto atrás. index.ios.js y index.android.js siempre va a ser puntos de entrada independiente en una forma predeterminada react-native init proyecto. Si usted desea tener a correr la misma base de código a través de index.js, debe configurarlo para index.ios.js y index.android.js de importación index.js y registra la misma base de componentes como se define en index.js.

    Por ejemplo, puedes ver cómo se hace en este ejemplo de Tareas de la aplicación (Repo de Github aquí).

    Si lugar index.js en la carpeta raíz, va a entrar en conflicto con index.android.js y index.ios.js cuando no se haga referencia a él directamente. Así que usted necesitará para que apunte a la ruta exacta en la importación. Ver el código de abajo.

    index.ios.js y index.android.js (mismo contenido)

    import React from 'react';
    import { AppRegistry } from 'react-native'
    import ReactApp from './index.js'
    //Had you placed index.js in another folder like `./app`, you could instead do your import with this shorthand:
    //import ReactApp from './app'
    
    AppRegistry.registerComponent('ReactApp', () => ReactApp)

    index.js

    //Note: I noticed that you imported Component from the wrong place. That might also be contributing to your issue so I fixed it here.
    import React, { Component } from 'react';
    import {
        View,
        Text,
    } from 'react-native';
    
    //Unless you are exporting multiple things from a single file, you should just use this.
    //It's more idiomatic than using module.exports = ReactApp;
    export default class ReactApp extends Component {
        render() {
            return (
                <View><Text>Hello world</Text></View>
            );
        }
    }
    He copiado y pegado el código, pero estoy recibiendo el mismo error :-/ ,
    Pruébalo ahora con las modificaciones. Me perdí el Reaccionar de importación desde que puse la respuesta juntos de una manera realmente rápida. Usted todavía necesita que en los tres archivos. También, se dio cuenta de que la taquigrafía ./index importación tendrá un conflicto de nombres si lugar index.js en el mismo directorio como otros archivos que inician con index.something. Si hubiera utilizado otro nombre de archivo o colocar en otro lugar, que no habría sido un problema. He añadido los comentarios para explicar que en la respuesta. También he probado este en un nuevo proyecto justo ahora, así que si hay errores todavía, debe ser de algo más.
    Ahora funciona, muchas Gracias

    OriginalEl autor Michael Cheng

  3. 1

    En iOS AppDelegate.m cambio de este

    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

    a

    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];

    OriginalEl autor FOLOF

Dejar respuesta

Please enter your comment!
Please enter your name here