首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不变违规:"main“未注册。如果:* Metro (本地dev服务器)从错误的文件夹运行,则可能发生这种情况。

不变违规:"main“未注册。如果:* Metro (本地dev服务器)从错误的文件夹运行,则可能发生这种情况。
EN

Stack Overflow用户
提问于 2021-04-02 16:04:59
回答 1查看 3.3K关注 0票数 1

我已经改变了我的index.js,因为我试图跟随这个图层:

代码语言:javascript
复制
https://www.youtube.com/watch?v=6soHPnHxHxI


        import { registerRootComponent } from 'expo';
        import React from "react";
        import { AppRegistry } from "react-native";
        import App from "./App";
        import { name as appName } from "./app.json";
        import { Provider } from "react-redux";
        import { Provider as PaperProvider } from "react-native-paper"
        import store from "./store";
        import 'react-native-gesture-handler';

        const AppRedux = () => {
            <Provider {...{store}}>
                <PaperProvider>
                    <App></App>
                </PaperProvider>
            </Provider>
        }

        // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
        // It also ensures that whether you load the app in the Expo client or in a native build,
        // the environment is set up appropriately
        //AppRegistry.registerComponent(appName, () => AppRedux);


        // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
        // It also ensures that whether you load the app in the Expo client or in a native build,
        // the environment is set up appropriately
        registerRootComponent(AppRedux);

但是我不断地发现这个错误:

代码语言:javascript
复制
Invariant Violation: "main" has not been registered. This can happen if: * Metro (the local dev server) is run from the wrong folder.
EN

回答 1

Stack Overflow用户

发布于 2022-01-24 09:02:41

打开index.js,文件的内容应该如下所示:

代码语言:javascript
复制
import { AppRegistry, Platform } from 'react-native';
import App from './App';

AppRegistry.registerComponent('X', () => App);

if (Platform.OS === 'web') {
    const rootTag = document.getElementById('root') || document.getElementById('X');
    AppRegistry.runApplication('X', { rootTag });
}

如果您有此错误不变的违规:“main”尚未注册,您必须将'X‘替换为'main’。

另一个例子是:

如果您有此错误不变的违规:“应用程序”尚未注册,您必须替换'X‘的’应用‘。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66922050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档