Я попытался запустить свой код drawerNavigation с версией навигации 3 react, но все равно выдает ошибку

#javascript #react-native #frontend #navigation-drawer #package.json

#javascript #react-native #интерфейс #навигация-ящик #package.json

Вопрос:

все, я пытался заставить мой код навигации по ящику работать, и он говорил, что createAppContainer не определен и что это не функция. Итак, после некоторых исследований я попытался изменить версии react-navigation, и другая ошибка продолжала загружать мой пакет всего на 19%. Ниже я опубликую скриншот обеих ошибок из 3-х версий навигации react.

Я попытался запустить код с помощью «react-navigation»: «^ 2.18.3» ошибка была:

 (In '(0, _reactNavigation.createAppContainer)(navigator)', '(0, _reactNavigation.createAppContainer)' is undefined)

<unknown>
    App.js:46:34
loadModuleImplementation
    require.js:331:6
<unknown>
    index.js:7
loadModuleImplementation
    require.js:331:6
guardedLoadModule
    require.js:197:45
global code
    <unknown file>:0
"
  

Что касается «react-navigation»: «^ 3.0.7» и «react-navigation»: «^ 3.8.1»
ошибки были:

 Failed to load bundle(http://localhost:8081/index.bundle?platform=iosamp;dev=trueamp;minify=false) with error:(Unable to resolve module `./createNavigationContainer` from `/Users/camillebasbous/Project/node_modules/react-navigation/src/react-navigation.js`: The module `./createNavigationContainer` could not be found from `/Users/camillebasbous/Project/node_modules/react-navigation/src/react-navigation.js`. Indeed, none of these files exist:
  * `/Users/camillebasbous/Project/node_modules/react-navigation/src/createNavigationContainer(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx)`
  * `/Users/camillebasbous/Project/node_modules/react-navigation/src/createNavigationContainer/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx)` (null))

__38-[RCTCxxBridge loadSource:onProgress:]_block_invoke.228
    RCTCxxBridge.mm:414
___ZL36attemptAsynchronousLoadOfBundleAtURLP5NSURLU13block_pointerFvP18RCTLoadingProgressEU13block_pointerFvP7NSErrorP9RCTSourceE_block_invoke.118
__80-[RCTMultipartDataTask URLSession:streamTask:didBecomeInputStream:outputStream:]_block_invoke
-[RCTMultipartStreamReader emitChunk:headers:callback:done:]
-[RCTMultipartStreamReader readAllPartsWithCompletionCallback:progressCallback:]
-[RCTMultipartDataTask URLSession:streamTask:didBecomeInputStream:outputStream:]
__88-[NSURLSession delegate_streamTask:didBecomeInputStream:outputStream:completionHandler:]_block_invoke
__NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__
-[NSBlockOperation main]
-[__NSOperationInternal _start:]
__NSOQSchedule_f
_dispatch_call_block_and_release
_dispatch_client_callout
_dispatch_continuation_pop
_dispatch_async_redirect_invoke
_dispatch_root_queue_drain
_dispatch_worker_thread2
_pthread_wqthread
start_wqthread
  

Пожалуйста, кто-нибудь может помочь?

 import * as React from 'react';
import { Text, View, Image, ScrollView, StyleSheet } from 'react-native';
import {
  createDrawerNavigator,
  createAppContainer,
  DrawerItems,
  SafeAreaView,
} from 'react-navigation';



class Home extends React.Component {
  static navigationOptions = {
    title: 'Home',

  };

  render() {
    return (
      <View style={styles.container}>


      </View>
    );
  }
}





const navigator = createDrawerNavigator(
  {
    Home,

  },
  {
    // drawerType: 'back',
    // drawerPosition: 'right',
    // drawerWidth: 200,
    // drawerBackgroundColor: 'orange',
    // contentComponent: CustomDrawerContentComponent
  }
);

export default createAppContainer(navigator) ;

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    backgroundColor: '#ecf0f1',
    padding: 8,
  }
});
  

Ответ №1:

Вы должны написать этот способ для работы с этим

 const Navigation=createAppContainer(navigator)
export default Navigation;
  

Комментарии:

1. Привет, я попробовал то, что вы предложили, но одна и та же ошибка сохраняется для всех 3 версий

Ответ №2:

Я думаю, что это проблема соглашения об именах, пожалуйста, переименуйте navigator в Navigator

 const Navigator = createDrawerNavigator( { Home, }, 
{ // drawerType: 'back',
 // drawerPosition: 'right', 
// drawerWidth: 200, // drawerBackgroundColor: 'orange',
 // contentComponent: CustomDrawerContentComponent } );

 export default createAppContainer(Navigator) ; 
  

Ответ №3:

Сегодня я попробовал Masuk Helal Anik и Vishal, и они оба сработали, странно…