Просто пытаюсь осмыслить стилизованные компоненты, в частности предложение в документации, в котором говорится, что вы можете настроить такие шаблоны медиа-запросов:
const breakpoint = (...args) => {
return css`
@media (min-width: 600px) {
${css(...args)}
}
`
}
Это отлично работает и может быть легко использовано следующим образом:
${media`background: dodgerblue;`}
Я хочу создать несколько шаблонов мультимедиа, но в документации предлагается создать именованные шаблоны, которые можно использовать следующим образом:
${media.large`background: dodgerblue;`}
Я бы предпочел передать моей функции дополнительный параметр, чтобы изменить точку останова, а не создавать отдельную функцию для каждой (не в последнюю очередь потому, что я хочу иметь возможность иметь произвольное количество из них и вызывать их целым числом, а не имя). Я попытался просто передать аргумент шаблонному литералу следующим образом:
const breakpoint = (bp, ...args) => {
const minWidth = arrayOfBreakpoints(bp);
return css`
@media (min-width: ${minWidth}px) {
${css(...args)}
}
`
}
$breakpoint(1)`background: olive;`
$breakpoint(2)`background: blue;`
Это явно не работает, и я не знаю, как передать дополнительный параметр функции, которую использует тегированный литерал шаблона, поскольку я, очевидно, не понимаю, как они работают. Любые идеи?