Как передать реквизиты компонентов стилям Emotion - PullRequest
1 голос
/ 08 мая 2019

Я боролся с этим, поэтому я собираюсь поместить это здесь на случай, если кому-то еще это понадобится:

Button.js

import styles from './Button.styles'

function Button(props) {
    return (
        <button css={styles.button(props)} {...props}>
            {props.label}
        </button>
    )
}

Button.styles.js

export default {
    button: (props) => (theme) => {
        const { colors } = theme

        return {
            color: colors.pureWhite,
            backgroundColor:
                (props.primary && colors.primaryBlue) ||
                (props.critical && colors.red)
        }
    }
}
...