Я использую polished
, о котором можно прочитать документацию, и здесь github здесь.
При написании стилей на JavaScript многим нужны вспомогательные функции в стиле Sass для продуктивной работы. ✨ полированный предлагает их вам в приятном, легком пакете, специально созданном для стилей в JavaScript.
Я использую функцию tint
, пример ее использования можно найти в ссылке на документацию выше:
Окрашивает цвет, смешивая его с белым. tint может вызвать изменение оттенка, в то время как lighten манипулирует каналом яркости и, следовательно, не вызывает изменения оттенка.
У меня есть объект темы, в котором хранятся все мои цвета, это примерно так:
const object = {
colors: {
myDesiredColor: '#0000FF',
...otherColors
},
};
Затем я экспортирую некоторые стили, которые намерен повторно использовать. Как показано ниже:
export const containerStyles= css`
color: ${tint(0.5, object.colors.myDesiredColor)};
padding: 17px;
margin-bottom: 10px;
margin-top: 10px;
`;
Но я получаю следующую ошибку:
Неперехваченная ошибка: Произошла ошибка. См. https://github.com/styled-components/polished/blob/master/src/error/errors.md#5 для получения дополнительной информации.
К сожалению, приведенное выше возвращает 404 Error
, поэтому я не вижу, что там написано.
Я наткнулся на это сообщение stackoverflow введите здесь описание ссылки, которое работает, но не совсем то, что Я ищу, поскольку я также использую этот подход в другом месте, и он не подходит для использования в таких ситуациях. Поэтому в идеале я просто хочу передать переменную после извлечения цвета объекта темы.
const getMyColor = ({ object }) => object.colors.myDesiredColor;
export const containerStyles= css`
color: ${tint(0.5, getMyColor)};
padding: 17px;
margin-bottom: 10px;
margin-top: 10px;
`;
Вышеупомянутое в идеале то, что я хотел бы. Так что я могу легко вызвать его в других случаях использования. Но я получаю ту же ошибку.
Я знаю (верю), что это как-то связано с тем, как я передаю второй аргумент. Я знаю, что он ожидает строку, и я предполагаю, что он не получает строку, но я не знаю, как это исправить.
Я наткнулся на этот пост, здесь, но опять же не уверен, что это то, что я ищу.
Любая помощь будет принята с благодарностью
object.colors.myDesiredColor
вместоobject.color.myDesiredColor
. Это решает проблему? - person Huy Nguyen   schedule 19.03.2019