mirror of
https://github.com/zhigang1992/styled-components.git
synced 2026-06-19 01:56:57 +08:00
revise & simplify theme determination
This commit is contained in:
@@ -5,11 +5,6 @@ type Props = {
|
||||
theme?: any,
|
||||
};
|
||||
|
||||
export default (props: Props, fallbackTheme: any, defaultProps: any = EMPTY_OBJECT) => {
|
||||
// Props should take precedence over ThemeProvider, which should take precedence over
|
||||
// defaultProps, but React automatically puts defaultProps on props.
|
||||
const isDefaultTheme = defaultProps ? props.theme === defaultProps.theme : false;
|
||||
const theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme || defaultProps.theme;
|
||||
|
||||
return theme;
|
||||
export default (props: Props, providedTheme: any, defaultProps: any = EMPTY_OBJECT) => {
|
||||
return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user