javascript – 在React Native中为样式化组件自定义组件添加样式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在React Native中为样式化组件自定义组件添加样式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1309字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 在React Native中为样式化组件自定义组件添加样式](/upload/InfoBanner/zyjiaocheng/768/6ee4d64f3c5848d898b010be33fa9e06.jpg)
我有button.js:
import React from "react";
import styled from "styled-components";
const StyledButton = styled.TouchableOpacity`
border: 1px solid #fff;
border-radius: 10px;
padding-horizontal: 10px;
padding-vertical: 5px;
`;
const StyledButtonText = styled.Text`
color: #fff;
font-size: 12;
`;
export default ({ children }) => (
<StyledButton>
<StyledButtonText>{children.toUpperCase()}</StyledButtonText>
</StyledButton>
);
它的用法:
import React, { Component } from "react";
import styled from "styled-components";
import Button from "./button";
const StyledNavView = styled.View`
justify-content: flex-end;
flex-direction: row;
background: #000;
padding-horizontal: 10px;
padding-vertical: 10px;
`;
const StyledTodayButton = styled(Button)`
margin: 10px;
`;
export default class Nav extends Component {
render() {
return (
<StyledNavView>
<StyledTodayButton>Today</StyledTodayButton>
<Button>Previous</Button>
</StyledNavView>
);
}
}
问题是,我在StyledTodayButton中应用的边距实际上从未应用过.我是否误解了样式组件中的扩展样式?
解决方法:
有两种方法可以使它工作:
>扩展按钮样式:
const StyledTodayButton = Button.extend’margin:10px’
>将道具传递给按钮:
const Button = styled.button'
/* ...your props */
margin: ${props => props.withMargin ? '10px' : '0px'};
然后调用render方法,您可以使用以下方法调用它:
<Button withMargin {...restProps} />
内容总结
以上是互联网集市为您收集整理的javascript – 在React Native中为样式化组件自定义组件添加样式全部内容,希望文章能够帮你解决javascript – 在React Native中为样式化组件自定义组件添加样式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。