不能动态形成对象

问题描述

我在尝试动态形成对象时遇到问题。 errorKey 应该是一个再次动态形成的字符串。它可以是例如

dispatch(stopSubmit("edit",{ 'key': { 'tiny_error': data.messages[0] } }));

问题是编译器根本看不到变量errorKey。当上面列出硬编码时,代码按预期工作。但是如何动态形成一个合适的对象呢?

    const errorMessage = data.messages[0];
    const errorKey = errorMessage.substring(0,errorMessage.length - 1));
    dispatch(stopSubmit("edit",{ 'key': { errorKey: data.messages[0] } }));

解决方法

我相信您正在寻找的语法是 errorKey 周围的括号,如下所示:

{ [errorKey]: data.messages[0] }