случайным образом выбрать изображения из массива в реагировать родной - PullRequest
1 голос
/ 19 января 2020

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

import image2 from '../../../../assets/images/image2.png';
import image3 from '../../../../assets/images/image3.png';
import image4 from '../../../../assets/images/image4.png';
import image6 from '../../../../assets/images/image6.png';

const images= [
  image1,
  image2,
  image3,
  image4,
  image6,
  ];

  componentDidMount() {
    this.changeImage();
  }

  changeImage = () => {
    const randomNumber = Math.floor(Math.random() * images.length);
    this.setState({
      currentImageIndex: randomNumber
    });
  }

          <Image
            source={{ uri: images[this.state.currentImageIndex] }}
            style={styles.imageStyle}
          />


1 Ответ

2 голосов
/ 19 января 2020

В реакции-нативном, когда вы импортируете изображение из относительного пути, вы должны передать его напрямую в исходные реквизиты компонента Image.

Вот как это должно работать:

  <Image
    source={images[this.state.currentImageIndex]}
    style={styles.imageStyle}
  />
...