Arrays 如何在ReactJS中创建和使用映射
我有一个带有ReactJS前端的Spring Boot应用程序,我正试图找出如何使用语义UI使用从一个输入字段中选择的值来填充另一个输入字段 我想我已经准备好了大部分内容,但我正在试图找出如何根据名称从名称/值对象数组中选择一个值。我还没有完全了解map函数是如何工作的,到目前为止,我看到的示例都是基于索引而不是值来选择的。如何对其进行编码,以便它根据值选择条目 例如,以下是阵列:Arrays 如何在ReactJS中创建和使用映射,arrays,reactjs,foreach,Arrays,Reactjs,Foreach,我有一个带有ReactJS前端的Spring Boot应用程序,我正试图找出如何使用语义UI使用从一个输入字段中选择的值来填充另一个输入字段 我想我已经准备好了大部分内容,但我正在试图找出如何根据名称从名称/值对象数组中选择一个值。我还没有完全了解map函数是如何工作的,到目前为止,我看到的示例都是基于索引而不是值来选择的。如何对其进行编码,以便它根据值选择条目 例如,以下是阵列: const productMap = [ {key: 'template_key1', value: 'Pro
const productMap = [
{key: 'template_key1', value: 'Product 1'},
{key: 'template_key2', value: 'Product 2'},
{key: 'template_key3', value: 'Product 3'}
}
我有一个在用户选择键时调用的方法:
handleSelectTemplateChange=(event,{value})=>{
let item = {...this.state.item};
item.template = value;
// how should this be coded?
item.product = productMap.getValue(item.template);
this.setState({item});
}
我在现场找到了一个很好的描述 下面是似乎有效的代码:
item.template = value;
productMap.map(entry =>{
if (value === entry.key){
item.product = entry.value;
}
})
您也可以使用数组查找。最好使用find而不是map/forEach,因为一旦找到所需的产品,就不需要映射所有数组元素
const productMap=[
{key:template_key1,value:Product 1},
{key:template_key2,value:Product 2},
{key:template_key3,value:Product 3},
];
handleSelectTemplateChange=事件,{value}=>{
让item={…this.state.item};
item.template=值;
const productValue=productMap.findproduct=>product.key==value;
item.product=productValue.value;
此.setState{item};
};