gajus / gajus/babel-plugin-react-css-modules

Passing multiple style props to a child component

Open
#306 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
2k
Forks
159
PR merge metrics
No merged PRs in 30d

Description

I have a child component, which accepts multiple props for styles, one for the container, and other for one of the internal elements. Generally, I would just name them something like `className` and `elementClassName`, and get different css classes from the parent in each of the props. With `react-css-modules` though, since the default rule only allows converting `styleName` to `className`, I can not pass different local classes in multiple props, as i can only have 1 `styleName` prop.

One of the way around this seems to be to use named imports instead of anonymous imports and then pass `styles.containerClass` in className and `styles.elementClass` in `elementClassName` prop. This does not require using the `styleName` prop at all.

```
import styles from './some.css';

...
...

...
...
```

This seems alright, and the other existing `styleName` in the file do not break, still work alright and do not need to be changed to `styles.soemthing`, but it is slightly confusing that the named import is being only used at one place, and at the rest of the places the anonymous string value in `styleName` still works fine.

Is there another preferred / prescribed approach to handle the above scenario?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.