gpt4 book ai didi

react-native - 如何在 React Native (expo) 中做动态图像源?

转载 作者:行者123 更新时间:2023-12-05 02:44:30 28 4
gpt4 key购买 nike

我有一个简单的功能可以在我的 React Native (expo) 项目中显示一张扑克牌。它在本地测试时有效,但在为设备(APK 等)构建时无效。根据我的理解,这是因为 require 中的字符串不能是动态的。如果是这样,处理这个问题的最佳方法是什么?
我是否必须对所有 52 张卡片都做一个要求,然后为该卡片的来源选择适当的变量?或者有更好的方法吗?

  export default function Card( { cardID, index, onCardClick }) {

const rankIndex = cardID % 13;
const rank = RANKS[rankIndex];
const suitIndex = cardID / 13 | 0;
const suit = SUIT[suitIndex];

let cardImage = require('../../assets/game/cards/'+rank+suit+'.png');

return (
<TouchableOpacity style={[index && index != 0 && styles.cardMargin]} onPress={() => onCardClick(cardID)}>
<Image style={styles.card} source={cardImage} />
</TouchableOpacity>
);
}

谢谢

最佳答案

做这样的事情:

const cardImages = {
AceSpades: require('../../assets/game/cards/acespaces.png'),
AceClubs: require('../../assets/game/cards/aceclubs.png'),
// etc..
};

您可以通过编写一个小的节点脚本或手动创建它来从您的文件系统生成这个数组。

metro bundler 要求导入是静态的。

关于react-native - 如何在 React Native (expo) 中做动态图像源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66447885/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com