我如何随机化我的背景图片 React Native

问题描述

我想随机返回文件夹中的图像,但出现错误调用无效”

我的功能

  returnGif = () => {
    min = Math.ceil(1);
    max = Math.floor(53);
    const gifNumber = Math.floor(Math.random() * (max - min +1)) + min;
    var gifFont = require('../config/Images/Gifs/' + gifNumber + '_2.png');
    if (gifFont) {
        if (Math.random()>0.5) gifFont = require('../config/Images/Gifs/' + gifNumber + '_2.png');
        else gifFont = require('../config/Images/Gifs/' + gifNumber + '.png');
    }
    else gifFont = require('../config/Images/Gifs/' + gifNumber + '.png');
    return gifFont;
  }

解决方法

在 react native 中,目前不支持 require 中的动态路径。

您需要导入所有图像,然后使用案例进行随机化

例如

 function getavatarImage(avatar) {
  switch (avatar) {
   case "spiderman":
    return require('./spiderman.png');
   case "batman":
    return require('./batman.png');
   case "hulk":
    return require('./hulk.png');
   default:
    return require('./no-image.png');
 }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...