我想知道是否有某种方法可以设置全局设计常量,以在React Native样式表中使用。
当我使用样式化组件时,我可以设置类似于
TextInput.tsx
import React from 'react';
import {TextInputProps} from 'react-native';
import {Label} from './TextInputStyle';
interface ITextInputProps extends TextInputProps {
label?: string;
}
const TextInput = ({label}: ITextInputProps) => {
return (
<Label>{label}</Label>
);
};
export default TextInput;
TextInputStyle.ts
export const Label = styled.Text`
${Body};
align-self: flex-end;
`;
typography.ts
export const Body = css`
font-family: 'Rubik-Regular';
font-size: 16px;
line-height: 22px;
color: ${DarkGrey2};
`;
我创建了这个Body
样式作为全局常量,我可以在我的样式组件中使用它。我想知道我是否可以用我的React Natvie Stylesheets做类似的事情。
而不是像这样做:
const styles = StyleSheet.create({
root: {
display: 'flex',
flexDirection: 'row',
paddingVertical: 21,
textAlign: 'center',
alignItems: 'center',
},
});
我能做到这
const styles = StyleSheet.create({
root: {
${flexCenterRow}
paddingVertical: 21,
},
});
globalstyles.ts
export const flexCenterRow = {
display: 'flex',
flexDirection: 'row',
textAlign: 'center',
alignItems: 'center',
}
1条答案
按热度按时间du7egjpx1#
我认为你可以在React Native中实现全局设计常量,方法是为你的全局样式创建一个单独的文件(你已经这样做了),然后在你的组件中导入和使用这些样式。我的想法是:
创建全局样式文件:
然后导入要使用的全局样式:
在样式对象中,我们可以使用扩展操作符(...)将globalStyles.ts文件中的flexCenterRow属性合并到组件的特定样式对象中。