Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问映射数组中的状态_Javascript_React Native_State - Fatal编程技术网

Javascript 如何访问映射数组中的状态

Javascript 如何访问映射数组中的状态,javascript,react-native,state,Javascript,React Native,State,我有以下问题: this.state.renderMap.map(function(name, index) { return ( <View style={styles.checkBoxWrapper} key={index}> <CheckBox title={name} value={() => {this.state.name} onValueChange={() => console.log(name)} /

我有以下问题:

this.state.renderMap.map(function(name, index) {
    return (
        <View style={styles.checkBoxWrapper} key={index}>
            <CheckBox title={name} value={() => {this.state.name} onValueChange={() => console.log(name)} />
            <Text>{name}</Text>
        </View>
    );
}, this)
this.state.renderMap.map(函数(名称、索引){
返回(
{this.state.name}onValueChange={()=>console.log(name)}/>
{name}
);
},本页)
如您所见,我正在尝试渲染贴图数组,它可以按预期工作。我唯一的问题是,我不知道如何访问状态,即“this.state.{name of current array item}”。有人能帮我吗?我尝试了几种方法,到目前为止都没有成功


善意的问候

此的错误值可能与您的函数有关;尝试将地图更改为箭头函数


this.state.renderMap.map((名称、索引)=>{

此的错误值可能绑定到您的函数;请尝试将地图更改为箭头函数


this.state.renderMap.map((名称、索引)=>{

根据您的描述,我相信这就是您要寻找的。我已经更新了地图,使用箭头功能来帮助限制范围问题

我还更新了
value
函数。我相信您的意思是状态变量的命名如下

如果您有一个名为“foo”的项目,则状态对象将是
this.state.foo
?此解决方案通过这种方式完成对状态的访问

this.state.renderMap.map((name, index) => {
    return (
        <View style={styles.checkBoxWrapper} key={index}>
            <CheckBox title={name} value={() => this.state[name]} onValueChange={() => console.log(name)} />
            <Text>{name}</Text>
        </View>
    );
})
this.state.renderMap.map((名称、索引)=>{
返回(
this.state[name]}onValueChange={()=>console.log(name)}/>
{name}
);
})

根据您的描述,我相信这就是您要寻找的。我已经更新了地图,使用箭头功能来帮助限制范围问题

我还更新了
value
函数。我相信您的意思是状态变量的命名如下

如果您有一个名为“foo”的项目,则状态对象将是
this.state.foo
?此解决方案通过这种方式完成对状态的访问

this.state.renderMap.map((name, index) => {
    return (
        <View style={styles.checkBoxWrapper} key={index}>
            <CheckBox title={name} value={() => this.state[name]} onValueChange={() => console.log(name)} />
            <Text>{name}</Text>
        </View>
    );
})
this.state.renderMap.map((名称、索引)=>{
返回(
this.state[name]}onValueChange={()=>console.log(name)}/>
{name}
);
})

是的,使用箭头函数可以访问map函数中的状态变量,但是如果将
名称
作为状态变量,并且您是map函数中的第一个参数,则该函数也被称为
名称
,这有点令人困惑。 另外,如果renderMap数组中有
name
作为键,则可以执行以下操作:,
this.state.renderMap.map(函数(arrayItem,idx)=>{
返回(
arrayItem.name
)

})
应该为您提供renderMap数组的名称。

是的,使用箭头函数可以访问map函数中的状态变量,但是如果将
name
作为状态变量,并且您是map函数中的第一个参数,则该函数也被称为
name
,这有点令人困惑。 另外,如果renderMap数组中有
name
作为键,则可以执行以下操作:,
this.state.renderMap.map(函数(arrayItem,idx)=>{
返回(
arrayItem.name
)

})
应该给你renderMap数组的名称。

是的,使用箭头函数可以访问map函数中的状态变量,但是如果你将
name
作为状态变量,并且你是map函数中的第一个参数,那么它也被称为
name
有点让人困惑。如果你有
name
作为renderMap数组中的一个键,您可以执行以下操作:
this.state.renderMap.map(函数(arrayItem,idx)=>{return(arrayItem.name)})
应该为您提供renderMap数组的名称。这不是绑定的问题
映射接受
作为秒参数,他在调用它时将其传递。是的,使用箭头函数可以访问映射函数内的状态变量,但是如果您有
名称
作为统计数据变量,并且您是map函数中的第一个参数,也被称为
name
,这有点让人困惑。另外,如果在renderMap数组中有
name
作为键,那么您可以执行,
this.state.renderMap.map(函数(arrayItem,idx)=>{return return(arrayItem.name)})
应该给你renderMap数组的名称。这不是绑定的问题
这个
映射
接受
这个
作为秒参数,他在调用它时传递它。这不是绑定
这个
映射
接受
这个
作为秒参数,他在调用它时传递它这不是绑定
this
map
的问题,它接受
this
作为秒参数,他在调用它时传递它。这按预期工作,我只是在收到错误时将
value={()=>this.state[name]}
更改为
value={this.state[name]}
“为复选框提供的'function'类型的'value'属性无效,应为'boolean'。由于它无法识别箭头函数,我将其删除。谢谢:)@user8598567啊,我想知道是否会发生这种情况,但我把它作为一个函数,因为我没有关于
CheckBox
的文档。很高兴你找到了它,我能帮上忙!这一切如期进行,我只是在收到错误时将
value={()=>This.state[name]}
更改为
value={This.state[name]}
提供给复选框的“function”类型的“value”无效,应为“boolean”。由于它无法识别箭头函数,我将其删除。谢谢:)@user8598567啊,我想知道是否会发生这种情况,但我将其作为函数保留,因为我没有关于
复选框的文档。很高兴你能找到它,我可以提供帮助!