Tôi đang theo dõi cùng với bài đăng này: https://medium.com/@samuelresua/easy-media-queries-in-styled-components-690b78f50053
Tôi đã tạo như sau trong Bản mô tả, nhưng đã phải dùng đến cách gõ any
nhiều hơn tôi phải chắc chắn:
const breakpoints: ObjectMap<number> = {
small: 767,
medium: 992,
large: 1200,
extraLarge: 1240
};
export const media = Object.keys(breakpoints).reduce((acc: { [key: string]: (...args: any) => any }, label) => {
acc[label] = (...args) => css`
@media (min-width: ${breakpoints[label]}px) {
${css(...args as [any])};
}
`;
return acc;
}, {});
Kết quả là, tôi không có trợ giúp trong IDE của mình khi tôi viết các kiểu trong các khối truy vấn phương tiện của mình:
styled.button<Props>`
background: red; /* this must be a valid style */
${({ theme }) => theme.media.large`
background: blue;
foo: bar; /* this isn't caught */
`
Bất cứ ai biết làm thế nào tôi có thể cải thiện media
chức năng của tôi ?