You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在React或React Native中如何使用后缀动态变化的变量?

你当前的写法无法生效的原因是:JavaScript 会把GUEST_guestNumber识别为一个完整的独立变量,不会自动将guestNumber替换为你传入的参数值,因此才会提示变量未定义。


最优解决方案:将同格式变量收纳为对象/数组

这是最规范、可维护性最高的实现方式,你只需要把原本分散定义的GUEST_1、GUEST_2、GUEST_3统一放到一个对象或者数组中即可:

// 方式1:用对象存储,键对应数字编号
const GUEST_CONTENT = {
  1: "GUEST_1对应的文本内容",
  2: "GUEST_2对应的文本内容",
  3: "GUEST_3对应的文本内容"
}

// 方式2:用数组存储,索引和编号差1即可
// const GUEST_CONTENT = ["GUEST_1对应的文本内容", "GUEST_2对应的文本内容", "GUEST_3对应的文本内容"]

之后修改你的组件代码,通过动态键名取值即可:

const guest = (guestNumber) => {
  return (
    <View>
      {/* 对象取值写法 */}
      <Text>{GUEST_CONTENT[guestNumber]}</Text>
      {/* 数组取值写法:<Text>{GUEST_CONTENT[guestNumber - 1]}</Text> */}
    </View>
  );
};

不推荐的实现方式

不要使用eval拼接变量名取值,例如eval(GUEST_${guestNumber}),这种写法存在安全隐患,同时会影响代码可维护性和运行性能,完全不推荐在生产环境使用。

内容的提问来源于stack exchange,提问作者Jerry seigle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:06:02