Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在React Native中正确导入/导出组件?_Reactjs_React Native - Fatal编程技术网

Reactjs 如何在React Native中正确导入/导出组件?

Reactjs 如何在React Native中正确导入/导出组件?,reactjs,react-native,Reactjs,React Native,我正在尝试导出初始组件,但一直都得到不变冲突错误: 有没有更好的方法导出我的HMAPP组件并将其导入App.js中 错误图像: 这是我的App.js: import HMAPP from './app/HMAPP'; export default HMAPP; 以下是我的HMAPP组件: import { Provider } from 'react-redux'; import { persistStore } from 'redux-persist'; import { Naviga

我正在尝试导出初始组件,但一直都得到
不变冲突
错误:

有没有更好的方法导出我的HMAPP组件并将其导入App.js中

错误图像:

这是我的App.js:

import HMAPP from './app/HMAPP';

export default HMAPP;
以下是我的HMAPP组件:

 import { Provider } from 'react-redux';
import { persistStore } from 'redux-persist';
import { Navigation } from 'react-native-navigation';
import Mapbox from '@mapbox/react-native-mapbox-gl';

import { registerScreens } from './screens';
import store from './store/configureStore';
import { appInit, getInitialScreen } from './appInit';
import { handleErrorObject } from './lib/handleError';

Mapbox.setAccessToken('pkaeda324234');

const persistor = persistStore(
    store,
    null,
    () => {
        registerScreens(store, Provider);

        appInit(store)
            .then(() => {
                const initialScreen = getInitialScreen(store.getState());

                Navigation.startSingleScreenApp({
                    screen: {
                        screen: initialScreen,
                    },
                    passProps: {
                        persistor,
                    },
                    drawer: {
                        left: {
                            screen: 'DrawerMenuScreen',
                        },
                    },
                    appStyle: {
                        orientation: 'portrait',
                    },
                });
            })
            .catch((error) => {
                handleErrorObject('Error initializing app', error);
            });
    },
);
根据和的文档,要将一个.js文件中的内容外部化,需要使用
export
。导出模块后,您可以
导入
him,并在其他.js文件中的任何位置使用

因此,在
HMAP.js
文件中,您需要
导出
您的
const
,如下所示:

const persistor = persistStore( ... )
export default persistor;
如果要导出多个对象,可以导出如下对象:

const persistor = persistStore( ... )
const persistor2 = persistStore2( ... )
export { persistor, persistor2 };
导出内容后,您现在可以在
App.js
文件中导入内容:

import persistor from './app/HMAPP'; // use it when you exported with "default"

您还可以导入该文件中的所有内容:

import * as persistors from './app/HMAPP';

希望能有所帮助。

在React Native中,如果要在其他父组件中使用子组件,则必须导出该子组件并在父组件中导入子组件。 其他的 您只使用类名声明组件,但这样就不能在任何地方使用该组件。 例:


您是否从
/app/HMAPP
导出任何内容?不,它仅用于持久存储和初始导航,没有导出。您如何尝试导入任何内容?我正在尝试查找其他人制作的错误。当它不是组件,只是常量时,如何导出它。您可以检查代码并给出解决方案(如果有的话)。您可以导出变量(
const
或其他变量),然后再次导入。这是常规Javascript。这取决于你如何使用这个变量。在错误中,它明确指出这是一个出口问题。我不知道你打算如何使用它,但你在哪里使用它,需要一个合适的导出/导入。
import * as persistors from './app/HMAPP';
 class Test extends React.Component {
}