【问题标题】:Element type is invalid. Expected string元素类型无效。预期字符串
【发布时间】:2018-06-06 09:42:34
【问题描述】:

当我尝试这段代码时,它显示了这个奇怪的错误。最有趣的部分是渲染方法没有任何变化。除非我在视图中添加 mapvew,否则它工作得很好。代码如下:

import React, {Component} from "react";
import {View, Image, MapView} from "react-native";
import {
  Container,
  Header,
  Content,
  Footer,
  FooterTab,
  Button,
  Icon,
  Text,
  Left,
  Right,
  Body,
  Title,
  Thumbnail,
  Grid,
  Row,
  Col,

} from "native-base";

import  typographystyles  from '../styles/typographystyles'; 
import { primary, secondary } from '../styles/variables';
class PostScreen extends Component {

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

        <Content>


        <View>  
              <Grid>
              <Row>
       <Col style={styles.col} >

        <Text style={typographystyles.heading1}> Jennifer </Text>
        <Text style={{marginTop:-20, fontSize:16, marginLeft:15}}> Vew and Edit Profile </Text>
       </Col>
<Col style={styles.col}>       
        <Thumbnail style={{marginTop:20}} source={require("../img/profile2.jpg")}/ >
     </Col> 
     </Row>
     </Grid>       

       </View>
       <View style={{marginLeft:15, marginBottom:20}}>
       <Text style={{marginTop:10,marginBottom:10, fontSize:18}}> 90 EUR per night </Text>


           </View>
           <Text style={{marginLeft:5, marginRight:5}}>
           Lorem ipsum dolor sit amet, eum iisque accommodare cu, ex enim eligendi appareat nec. Magna quando aliquid mel ea, exerci nonumes maiestatis eum ei, harum possim sed ut. Mea omnis bonorum posidonium ne, pri ne illud suavitate assentior. His choro numquam ad, mei te integre vituperatoribus. An vim nobis similique theophrastus, mazim mandamus assentior pro id.

Ad bonorum senserit postulant eum, quo et virtute feugiat. Reque laudem referrentur ex mei. Eu vel dico sonet iudicabit. Eos et falli fabulas, eam quis timeam voluptatum ea. Nullam persequeris ne nec. Reque error vivendum sit id, te sit partem aeterno feugait.
</Text>
<View style={{flex: 1}}>
<MapView
  style={styles.map}
  showsUserLocation={true}/>
</View>
                </Content>


      </Container>
    );
  }
}

const styles = {
  img: {
height:200,
width: null,
flex:1,
  },

col:{
  marginTop:30,
  justifyContent: "center",
alignItems: "center",
},
 map:{
    flex:1
  },

}

export default PostScreen;

这段代码有什么问题?如何修复? 正如我所说,它只是在尝试添加 mapvew 后引起的。

提前致谢:)

【问题讨论】:

    标签: react-native react-native-android react-native-ios expo native-base


    【解决方案1】:

    MapView 组件在 react-native sdk 中不存在。

    你必须从Here安装它

    或者,如果您使用 expo 创建了应用,只需使用 import { MapView } from 'expo'; 将其导入即可,如提及的 here

    【讨论】:

    • 我使用了您建议的示例。错误消失了,但我没有看到地图本身。它只显示一个白屏。
    • 由于您遇到了另一个问题,请将此主题标记为已解决。对于您的新问题,如果您使用 expo,您可能想在 MapView 样式属性中添加 flex: 1。如果你不使用它,你可能想根据 MapView github 文档检查 api 密钥
    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 2021-03-13
    • 2019-10-24
    • 2019-05-09
    相关资源
    最近更新 更多