确定反应中该组件内的无状态组件名称

时间:2017-08-23 12:51:22

标签: javascript reactjs react-native

如何在同一组件中获取无状态组件名称

例如: HelloComponent.jsx

    db.collection.distinct("key").forEach((num)=>{
      var i = 0;
      db.collection.find({key: num}).forEach((doc)=>{
        if (i)   db.collection.remove({key: num}, { justOne: true })
        i++
      })
    });

在这里,我如何获得组件的名称?即VHelloComponent

2 个答案:

答案 0 :(得分:1)

ES6实现了Function.name属性。在你的情况下,你可以做类似的事情。

VHelloComponent.name

const VHelloComponent = function(props) {
    currentComponentName = VHelloComponent.name
    return (<div>Hello React</div>);
}
export default(VHelloComponent);

答案 1 :(得分:1)

您可以执行VHelloComponent.name,但请记住,如果您缩小代码.name,则会返回该函数的缩小名称。如果你缩小你的代码并且你需要函数的实际人类可读名称,你可以为你的函数分配一个包含如下名称的属性:

const VHelloComponent = function(props) {
    currentComponentName = VHelloComponent.myName
    return (<div>Hello React</div>);
}

VHelloComponent.myName = "VHelloComponent";
export default VHelloComponent;

弦乐不会被缩小。