数组迭代仅显示本机上的第一个字母

时间:2018-07-25 06:38:08

标签: arrays react-native iteration

选择后,我们有以下数据

"optn": [
    "ഫത്തേപ്പൂര്  സിക്രി",
    "ഖജൂരാഹോ ക്ഷേത്രം",
    "ചാര്മിനാര്",
    "കുത്തബ്മീനാര്"
],

迭代如下完成,但是在调用example [0]时只得到第一个字母,例如         “ഫ”,         “ഖ”,         “ച”,         “ക” 在“示例”上只会出错

  

不变违反:对象无效,不能作为反应子对象(发现:   带有键的对象{key,index}),如果您要呈现子级集合,则使用数组代替

objAns= this.state.optn.map((example,index) =>{
  return(
    <View  key={index.toString()} >
    <RadioButton currentValue={this.state.value} value={index+1} onPress={this.handleOnPress.bind(this)}>
    <Text>{example[0]}</Text>
    </RadioButton>
  </View>
  );
});

如果我们使用{example [0]} {example [1]} {example [2]},那么我们得到下一个字母,并且如果optn包含英文单词,那将没问题,但是我必须管理这些类型的数据那么如何解决这样的问题。是否可以在内部使用“ for循环”?

2 个答案:

答案 0 :(得分:2)

这很奇怪,但这似乎可行:

<Text>{example.toString()}</Text>

答案 1 :(得分:0)

example[0]更改为example,不需要。 映射时,您将获得数组值,在您的方案中是字符串,并使用example[0]选择字符串的首字母

objAns= this.state.optn.map((example,index) =>{
  return(
    <View  key={index.toString()} >
    <RadioButton currentValue={this.state.value} value={index+1} onPress={this.handleOnPress.bind(this)}>
    <Text>{example}</Text>
    </RadioButton>
  </View>
  );
});