Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Error handling 如何获取父组件';她叫什么名字?_Error Handling_Reactjs - Fatal编程技术网

Error handling 如何获取父组件';她叫什么名字?

Error handling 如何获取父组件';她叫什么名字?,error-handling,reactjs,Error Handling,Reactjs,我希望为我的一些组件提供良好的错误消息,如React,例如: 警告:数组中的每个子级都应该有一个唯一的“键”道具检查MyComponent的渲染方法。有关详细信息,请参阅 此消息提供有关错误上下文的一些信息。我知道我可以在调试器中找到它,但我想让我和我的程序员同事更容易调试。虽然不清楚如何将其用于您在评论中提到的Promise组件,但您可以尝试以下方法: var componentName = this.constructor.displayName || this.constructor.na

我希望为我的一些组件提供良好的错误消息,如React,例如:

警告:数组中的每个子级都应该有一个唯一的“键”道具检查MyComponent的渲染方法。有关详细信息,请参阅


此消息提供有关错误上下文的一些信息。我知道我可以在调试器中找到它,但我想让我和我的程序员同事更容易调试。

虽然不清楚如何将其用于您在评论中提到的
Promise
组件,但您可以尝试以下方法:

var componentName = this.constructor.displayName || this.constructor.name || undefined;
它的灵感来自ReactJS代码中的函数,该函数在React元素验证期间查看构造函数以构建名称

但是,如果您想要一个父级的名称,这是不可能通过任何有文档记录的方式实现的,并且如果您根据特定的内部实现构建代码,这很可能是脆弱的。这是一个单向的信息流,因此孩子不需要通过正常的体系结构与父母建立链接


如果需要父名称,则需要获取值并将其传递给子项,我确信这是不可取的

你为什么需要这个?React组件作用于它们接收的属性及其内部状态,而不是它们所属的层次结构。由于不确定打印父组件是否有助于调试,我创建了一个用于处理承诺的组件。我喜欢它,但我最终几乎在所有地方都使用了它,因此我想改进它的错误处理。我假设promise处理程序是由父组件发送的,如果是这样的话,那么大多数问题都源于处理程序,而这些都在父级,你知道你在哪里。
this.constructor.displayName
打印这个组件名称(这很好,但不是我想要的,因为我想要父组件),并且
constructor.name
对我来说总是
Window
(很可能你的意思是
this.constructor.name
那里)。明白了。我不明白您希望家长的价值是什么,因为您的问题中没有描述(示例显示了我提供的内容)。我更新了我的答案,说不可能使用任何支持的方法。功能组件如何?