проблема с компонентом ImageBackground реагирующим - PullRequest
0 голосов
/ 28 сентября 2019

У меня проблема с компонентом «Фон изображения» при возврате renderRow ..

    import back1 from '../../assets/back1.jpg';

    renderRowpost = ({ item }) => {
        return ( 
                MORECONTENT....     
                {item.imgfondo ?  //IF EXIST BACK IMAGEN
                    <View key={"viwid_" + item.postid} style={styles.warptextopost}>
                        <ImageBackground source={back1}>
                            <Text key={"text_id" + item.postid} style={styles.stylpublictext} >{item.posttexto}</Text>
                        </ImageBackground>
                    </View>
                    : //as there is no image I place the text without background
                    <View key={"viwid_" + item.postid} style={styles.warptextopost}>
                         <Text key={"text_id" + item.postid} style={styles.stylpublictext} >{item.posttexto}</Text>
                    </View>
                }       
   )
   }


          //Where I show all the content I get from RenderrenderRowpost

                <FlatList
                    data={this.state.datapost}
                    renderItem={this.renderRowpost}
                    keyExtractor={(item, index) => index.toString()}
                />

, и я получаю следующую ошибку: Нарушение инварианта: недопустимый тип элемента -ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: undefined.Вы, вероятно, забыли экспортировать свой компонент из файла, в котором он определен, или вы, возможно, перепутали импорт по умолчанию и имя. , но если я удалю компонент ImageBackground или поместу компонент Image (без текста внутри)если он показывает нормальное содержимое, он только выдает ошибку при размещении компонента ImageBackground, какое-либо решение?Мне нужно поместить фоновое изображение внутри View с соответствующим текстом, большое спасибо ..

1 Ответ

1 голос
/ 28 сентября 2019

Загрузите изображение следующим образом

<ImageBackground source={require('../../assets/back1.jpg')}>
...
</ImageBackground>

Я думаю, вы не можете импортировать изображения так же, как вы загружаете js-модули при импорте.

...