Значение json '2' типа nsnumber не может быть преобразовано в nsstring - PullRequest
0 голосов
/ 19 января 2019

Я работаю над imageSlider с использованием карусели, импортированной из библиотеки: "реагировать-родной-баннер-карусель"

Я пытаюсь получить изображения, которые хранятся локально внутри компонентов папки. Я создаю массив изображений, а затем пытаюсь отрендерить их через карусель.

Я, конечно, получаю сообщение об ошибке типа: "значение json '2' типа nsnumber не может быть преобразовано в строку nsstring"

Код ImageSlider:

const BannerWidth = Dimensions.get('window').width;
const BannerHeight = 260;

const images = [
    require("./abc.jpg"),
    require("./xyz.jpg")
];

export default class ImageSlider extends React.Component {
    renderPage(image, index) {
        return (
            <View key={index}>
                <Image style={{ width: BannerWidth, height: BannerHeight }} source={{uri:image}} /> 
            </View>
        ); 
    }

render() {
    return (
        <View style={styles.container}>
            <Carousel
                autoplay
                autoplayTimeout={5000}
                loop
                index={0}
                pageSize={BannerWidth}
            >
                {images.map((image, index) => this.renderPage(image, index))}
            </Carousel>
        </View>
    );
}
}

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

В результате я должен быть в состоянии отрисовать все изображения, отображаемые в массиве изображений. Но я получаю эту ошибку. Где я тут ошибаюсь?

1 Ответ

0 голосов
/ 20 января 2019

Ваша проблема здесь:

const images = [
    require("./abc.jpg"),
    require("./xyz.jpg")
];

Требуется не возвращает URL изображения, но внутренний индекс носителя. Который в вашем случае, я предполагаю, равен 2, и интерфейс для изображения ожидает строку.

Попробуйте это:

<Image style={{ width: BannerWidth, height: BannerHeight }} source={image} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...