React-native中是否存在隐式参数名称

问题描述 投票:0回答:1

我尝试在react-native中使用RadioButton库,但是我的变量/参数名称存在一些问题,我不确定我是否理解不足。

这里是示例代码:

  constructor () {
    super()
    this.state = {
      types2: [{label: 'param1', value: 0}, {label: 'param2', value: 1}, {label: 'param3', value: 2},],
      value2: 0,
      value2Index: 0,
    }
  }
 <RadioForm
              formHorizontal={true}
              animation={true}
            >
              {this.state.types2.map((obj, i) => {
                var that = this;
                var is_selected = this.state.value2Index == i;
                return (
                  <View key={i} style={styles.radioButtonWrap}>
                    <RadioButton
                      obj={obj}
                      index={i}
                      onPress={(value, index) => {
                        this.setState({value2:value})
                        this.setState({value2Index: index});
                      }}
                    />
                  </View>
                )
              })}
            </RadioForm>

[很多事情我不知道。这是我的实际对象:

 data: [{name: 'param1', number: 12}, {name: 'param2', number: 34}, {name: 'param3', number: 45},],

[首先,如果我尝试用数据替换'types2'对象,则必须将'name'参数重命名为'label'。这是否暗示您的对象中的名称应为“ label”?我不能保留“姓名”吗?

与'value'参数相同,如果我的数据中没有value参数,则将永远不会分配value2,为什么?为什么这行不通?:

  onPress={(number, index) => {
                        this.setState({value2:number})
 }}

我对象中的'number'参数只是一个带有名称(不是id)的数据链接,但是我应该在我的对象中添加唯一的id吗?

最后,在onPress函数中,我不太了解'index'变量。 onPress = {(arg1,arg2)}的第二个参数将始终是生成的索引吗?

而且,在这段代码中,我不了解从未使用过的'value'参数的含义。我们应该将它用作RadioButton函数中的关键参数,而不要使用'i',对吧?

感谢您的帮助

react-native indexing label implicit
1个回答
0
投票

您可以像这样设置type2状态

this.state = {
      types2: data.map(item => ({label: item.name, value:item.number})),
      value2: 0,
      value2Index: 0,
    }

如果从响应中获取数据,则使用this.setState。

在onPress函数中,您将获得选定的值和选定的索引。第一个arg为选定值,第二个arg为选定索引。

© www.soinside.com 2019 - 2024. All rights reserved.