В моем приложении React+StyledComponent у меня есть такой файл темы:
тема.js:
const colors = {
blacks: [
'#14161B',
'#2E2E34',
'#3E3E43',
],
};
const theme = {
colors,
};
export default theme;
В настоящее время я могу легко использовать эти цвета для стилизации своих компонентов следующим образом:
const MyStyledContainer = styled.div`
background-color: ${(props) => props.theme.colors.blacks[1]};
`;
Проблема в том, как передать blacks[1] компоненту в качестве реквизита цвета для использования следующим образом:
<Text color="black[1]">Hello</Text>
Где Text.js:
const StyledSpan = styled.span`
color: ${(props) => props.theme.colors[props.color]};
`;
const Text = ({
color,
}) => {
return (
<StyledSpan
color={color}
>
{text}
</StyledSpan>
);
};
Text.propTypes = {
color: PropTypes.string,
};
export default Text;
В настоящее время вышеизложенное молча терпит неудачу и разрывает в DOM следующее:
<span class="sc-brqgn" color="blacks[1]">Hello</span>
Любые идеи о том, как я могу заставить это работать? Спасибо