2017-08-29 57 views
0

我对nativebase有问题页脚 我有容器,如果我包含MyFooter,它给了我这个错误: 元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(用于复合组件),但得到:未定义。你可能忘了您的组件从它的定义文件导出React-Native:元素类型无效

// main.js 
import MyFooter from './MyFooter'; 
... 
<Container> 
    <MyHeader title="Оплаты" /> 
    <Content></Content> 
    <MyFooter /> 
    </Container> 

和页脚部分

// MyFooter.js 
const MyFooter = props => { 
    return (
    <Footer> 
     <FooterTab> 
     <Button vertical active> 
      <Text>Info</Text> 
     </Button> 
     <Button vertical > 
      <Text>Remove</Text> 
     </Button> 
     </FooterTab> 
    </Footer> 
); 
} 
export default MyFooter; 

但是,如果我改变渲染MyFooter的方法是这样的:

// MyFooter.js 
return (
    <View> 
    <Text> 
     Test 
    </Text> 
    </View> 
) 

所以问题不在导出/导入中,因为MyFooter中的另一个渲染器可以完美地工作。 请问有人可以帮忙吗?

答案 - 从'react-native'导入{Text,Footer,FooterTab,Button,Icon}; (“反应母语”,而不是“原生基”)

+0

您return语句后失踪的右括号你导出'MyFooter'组件 –

+0

是的,如果我改变渲染MyFooter的方法,所有的工作完美。 (增加出口线问题) –

回答

1

如果你完全按照粘贴你的代码,然后你在MyFooter.js

+0

没有,右括号不适合由于代码中的问题,关于这个遗憾金额的限制。 –

+1

好的,在MyFooter.js中,您正在导入Nativebase中的所有元素,而不是React-Native?按钮,文本等 – basudz

+0

当然,否则,如果您在查看包裹页脚我会得到另一个错误 –

2

这是您的MyFooter组件试图将组件第一export default MyFooter出口像以下这些:

const MyFooter =() => ( 
    <Footer> 
    <FooterTab> 
     <Button vertical active> 
     <Icon name="information" /> 
     <Text>Инфо</Text> 
     </Button> 
     <Button vertical > 
     <Icon name="add" /> 
     <Text>Оплаты</Text> 
     </Button> 
     <Button vertical > 
     <Icon name="remove" /> 
     <Text>Снятия</Text> 
     </Button> 
    </FooterTab> 
    </Footer> 
); 

export default MyFooter; 
+0

出口存在,所以问题不在进口/出口,加上有问题的出口线,对不起,首先要做。 –

+0

这是解决你的问题吗?让我知道如果不解决尚未尝试组件声明从这个'常量MyFooter =道具=>'改变你'常量MyFooter =()=>' –

+0

不是,这是解决不了问题的,出口是之前就已存在。如果问题出在导出,那么MyHeader渲染中的更改会导致相同的错误。 –

相关问题