React-Native Router Flux Invariant Violation:元素类型无效。无法使用“导出默认值”解决它

时间:2018-01-16 03:59:28

标签: react-native react-native-router-flux

不变违规:元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:object。您可能忘记从其定义的文件中导出组件。

当我尝试使用我的物理设备运行应用程序时,它显示错误。有没有人有同样的问题?我有添加“导出默认应用程序”的方法,但似乎喜欢它没有帮助。

这是App.js文件

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View,
  AppRegistry
} from 'react-native';
import {Scene, Router} from 'react-native-router-flux';

import ListRecipe from './ListRecipe';
import RecipeDetails from './RecipeDetails';
import UpdateRecipe from './UpdateRecipe';
import CreateRecipe from './CreateRecipe';

const App = () => (
  <Router>
      <Scene key="root">
        <Scene key="listR" component={ListRecipe} title="List Recipe" initial/>
        <Scene key="recipeD" component={RecipeDetails} title="Recipe Details"/>
        <Scene key="updateR" component={UpdateRecipe} title="Update Recipe"/>
        <Scene key="createR" component={CreateRecipe} title="Create Recipe"/>
      </Scene>
    </Router>
);

export default App;

这是subFile ListRecipe.js之一

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';
import {Actions}from 'react-native-router-flux'

class ListRecipe extends React.Component{
    render(){
      return(
          <View style={styles.container}>
            <Text onPress={()=>Actions.recipeD()}>
              Navigate to Recipe Details
            </Text>
          </View>
      );
    }
  }

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

1 个答案:

答案 0 :(得分:0)

我认为您忘记从ListRecipe.js导出ListRecipe, 除非您执行导出,否则无法在App.js中使用该导入语句 还有一件事,而不是场景,用键=&#34; root&#34;使用Stack with key =&#34; root&#34;在我看来