Javascript react组件中的映射无法调用Map.get()
我有一个简单的错误消息映射,正在正确填充。这是 验证函数中的代码段Javascript react组件中的映射无法调用Map.get(),javascript,reactjs,hashmap,Javascript,Reactjs,Hashmap,我有一个简单的错误消息映射,正在正确填充。这是 验证函数中的代码段 function validate(firstName, lastName, email) { var errors = new Map(); if (firstName == null || firstName.length === 0) { errors.set(1, "First Name can't be empty"); } if (lastName == null ||
function validate(firstName, lastName, email) {
var errors = new Map();
if (firstName == null || firstName.length === 0) {
errors.set(1, "First Name can't be empty");
}
if (lastName == null || lastName.length === 0) {
errors.set(2, "Last Name can't be empty");
.
.
.
在我的组件中,errors var由validate函数填充。
var errors=validate(firstName、lastName、email)
当我在应用程序中将名字留空时,我应该会得到一张有名字的地图
值集,我做。console.log(错误)
在控制台中生成此值
所以我知道我有一张有效的地图。如何从键1获取值
错误。get(1)不工作
console.log(error.get(1)
一直给我这个
因为所有的文档都说
get()是如何检索我想要的值
经过进一步调查,除了我在
验证函数,我无法从内部调用错误映射上的任何映射函数
组件的render()函数从您提供的信息来看问题并不明显。您是否在相同的上下文中(在相同的函数中,使用相同的
错误
对象)同时调用console.log(errors)
和console.log(errors.get(1))
与console.log(errors.get(1))
每次都是相同的错误变量。输出just errors会在控制台中提供映射信息,输出errors.get会以TypeError中断。对于错误消息中的混淆,很抱歉,您似乎从状态中获取errors
对象(var errors=this.state
)在render
函数中,此函数被多次调用,每次调用此函数时,errors
可能不是Map
。能否更新问题,说明您在何处设置了state with errors Map?您在控制台中遇到了什么错误?