Skip to content

className default is lost when props.className is undefined in UncontrolledTabs #581

@benjaminliugang

Description

@benjaminliugang

In the UncontrolledTabs component, default props are merged using object spreading:

const { className, ...attributes } = { ...defaultProps, ...props, };

Even the defaultProps.className is defined ('react-tabs') and props.className is explicitly undefined, the spread operation will overwrite the default and set className to undefined.

As a result, the default class name is lost. It's unclear whether this behavior is intended, but it can lead to unexpected issues, especially when upgrading from older versions where the default class was always applied. Projects relying on the default 'react-tabs' class for styling or selectors may break silently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions