首页 > 解决方案 > 反应组件中的地图无法调用 map.get()

问题描述

我有一个简单的错误消息 Map 正在正确填充。这是 validate 函数的代码片段。

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(errors)在控制台中产生这个

错误的控制台输出

所以我知道我有一张有效的地图。如何从键 1 中获取值?

Errors.get(1) 不工作。

console.log(error.get(1)一直给我这个

类型错误堆栈

不知道从哪里开始,因为所有文档都说 get() 是如何检索我想要的值。

经过进一步调查,除了我在 validate 函数中进行的 errors.set() 调用之外,我无法从组件的 render() 函数中调用错误映射上的任何映射函数

标签: javascriptreactjshashmap

解决方案


推荐阅读