Skip to main content
Solved

Getting the component name

  • November 23, 2022
  • 2 replies
  • 13 views

Forum|alt.badge.img+14

Hi, I’m trying to get a component’s name and insert it as a class name. A google search tells me I should use this.constructor.name, but that doesn’t seem to work here.

Eg:

function OrderLineItems(props) {
    return (
        <section className={this.constructor.name}>
        </section>
    )
}

Does anyone have a solution for this?

Best answer by goksan

@Jack_Manuel +1

The following works

function OrderLineItems(props) {
    return (
        <section className={OrderLineItems.name}>
        </section>
    )
}

Not necessarily ideal as you might have been trying to avoid referencing the function name.

2 replies

Jack_Manuel
Forum|alt.badge.img+18
  • Brainy
  • 80 replies
  • November 23, 2022

I believe the {this.constructor.name} method would only work with a class component and you have a functional component there.


Forum|alt.badge.img+6
  • Inspiring
  • 23 replies
  • Answer
  • November 24, 2022

@Jack_Manuel +1

The following works

function OrderLineItems(props) {
    return (
        <section className={OrderLineItems.name}>
        </section>
    )
}

Not necessarily ideal as you might have been trying to avoid referencing the function name.