无法映射数组并获取 Screen React Native 上的值

Posted

技术标签:

【中文标题】无法映射数组并获取 Screen React Native 上的值【英文标题】:Unable to map the array and get the values on Screen React Native 【发布时间】:2022-01-10 13:31:15 【问题描述】:
const DynPut: FC<Props> = Props => 

const [value, setValue] = useState<string>(['1', '2', '3', '4']);

  return (
    <View>
      value.map(v => 
        <Text>v</Text>;
      )
    </View>
  );
;

无法在屏幕上获取值 1-5。我正在使用打字稿,还保存了带有.tsx扩展名的文件

【问题讨论】:

; 会在保存文件时自动添加到 map 函数的末尾。无法摆脱它 您是否在某处渲染组件,例如 app.tsx? 是在 app.tsx 中渲染组件 【参考方案1】:

地图的语法错误,请改用普通括号:

value.map((v) => (
    <Text>v</Text>
))

【讨论】:

它解决了错误。但在某些情况下,我们也使用 。如果错了,请纠正我,如果我们想在地图中编写多个函数或操作,那么我们必须使用 @AthavanT 你可以把它作为公认的答案,我只是指出有不同的方法。【参考方案2】:

仅供参考

map() 期望返回值,有多种可能,例如:

const data = [ x: 55, y: 34 ,  x: 75, y: 12 ];

const result1 = data.map(d => d.x); // inline

const result2 = data.map(d => (
  d.x // use round brackets
));

const result3 = data.map(d => 
  return d.x; // use return statement
);

console.log(result1, result2, result3);

如果你想在返回值之前对数据做一些事情,最后一种方法很方便。

const data = [ x: 55, y: 34 ,  x: 75, y: 12 ];

const result = data.map(d => 
  const xTimesFive = d.x * 5; // do something with the x value
  const dividedByTwo = xTimesFive / 2;
  return dividedByTwo;
);

console.log(result);

// note, a simple calculation or check can also be done in the other methods
console.log(data.map(d => d.x > 60 ? "big" : "small"));

【讨论】:

真棒,简洁而彻底的答案。 TIL,非常感谢! @jakehurt 非常感谢 :)

以上是关于无法映射数组并获取 Screen React Native 上的值的主要内容,如果未能解决你的问题,请参考以下文章

React / React Native:如何映射数组并在卡片上显示数据

在 React 中映射获取的数据

如何在 React 中显示来自 JSON URL 数组的图像

无法映射并获取对象数组中存在的数据

React - 从 API 获取数据并映射嵌套的 JSON

映射具有用户 ID 的对象数组并从此用户 ID 获取用户详细信息