Слифовые компоненты Для реакции потрясающе. Почему мы не можем стимулировать веб-компоненты?
С маскарады мы можем это сделать.
Плюс
Со стильными веб-компонентами:
- Мы можем написать CSS в файлах JS, используя меченную строку
- Мы можем написать реактивные CSS на основе значения реквизита
- Нет необходимости думать о уникальных именах классов или я бы
- Мы можем стимулировать родные веб-компоненты и пользовательские веб-компоненты
- Сгенерированные стилизованные веб-компоненты могут быть использованы внутри света и корень тени, без ручного управления стилей-листа.
Пример
Создать стильную родную кнопку:
import styled from 'masquerades';
// Create the button
const StyledButton = styled.button`
background: ${({ disabled }) => (disabled ? 'grey' : '#f1c40f')};
color: #fff;
border: 3px solid #fff;
border-radius: 50px;
padding: 0.8rem 2rem;
font: 24px "Margarine", sans-serif;
outline: none;
cursor: pointer;
position: relative;
transition: 0.2s ease-in-out;
letter-spacing: 2px;
${({ disabled }) => disabled && styled.css`
border-radius: 15px;
`}
`
// set up observedAttributes
.observeAttributes(['disabled']);
// Define the styled button as extension of the native button
customElements.define('styled-button', StyledButton, {
extends: 'button',
});
и использовать его
В конце концов
Стильные компоненты потрясающие и такие полезны, почему бы не использовать их с веб-компонентами?
Оригинал: “https://dev.to/alfredosalzillo/styled-web-components-45ph”