我尝试用TypeScript将样式化的组件应用于我的React代码。
现在我的render()
方法使用循环生成多个元素,每个元素的className由另一个方法动态生成。
render() {
try {
const {steps} = this.props;
return (
<div className="step-bar">
{steps.map((s, i) => (
<div key={i} className={this.getClassName(i)}>
{s}
</div>
))}
</div>
);
} catch(e) {
utils.sendErrorObject(e);
return null;
}
};
现在我想对这个代码应用样式化组件,并根据classname
处理多个样式,但我不知道如何指定条件,因为classname
在代码中是动态的。
有人知道好主意吗?
试试看:
import styled from 'styled-components';
const MyStyledComponent = styled.div`
background-color: ${props => ~props.className.indexOf('current') ? 'red' : 'blue'}
`
...
render() {
return <MyStyledComponent className={this.getClassName(i)}>Text</MyStyledComponent>
}
我正在开发一个带有样式组件的反应应用程序,我有一个组件“导航”。在这个组件中有更多的组件,如,等。Header例如是这样声明的: 问题是,我在不同的文件中有这个导航组件,对于所有文件,样式都很好,但现在我只想在其中一个文件中更改标题组件的背景色,它位于(?)导航组件。我该怎么做?我知道可以用const NewNav=styled(导航)之类的东西从导航组件更改样式,`但是标题呢? 先谢谢你。
我试图找到一种方法来动态导入继承一些标准样式的svg图标。我没有看到其他人写这个...所以我想我走错了路。 我尝试过在样式化的组件中创建一个SVG包装器,但这给了我一个svg的巢 SVG图标代码 我的图标代码 导入正在工作并显示,但我希望将组件作为样式化组件,这将使我能够使用道具设置主题并动态更改SVG样式。
当我启动应用程序时,它会显示启动图像和一个黑色状态栏。如何更改它,使状态栏在启动时变亮?我已经在AppDelegate didFinishLoading方法中将状态栏的外观设置为亮起,它适用于应用程序的其余部分。
当将html输入与样式化组件一起使用并将值保存为react state with onChange时,组件似乎会在每次状态更改时重新呈现,并导致输入失去焦点。有没有办法防止输入失去焦点?为什么会发生这种情况?这里有一个例子。
Button组件通常由Text元素组成,该元素用TouchableHighlight(或其他touchable)包装。我正在尝试创建一个使用styled-components样式的按钮组件,但是我的样式很难动态响应道具。 下面,我创建了一个按钮组件,类似于样式化组件文档中的Adapting based on props示例。 导入后,我用的按钮是这样的... 所以,我希望我的纽扣看起来像这样...
在按钮悬停我想做的改变:之前的内容太,我找不到一个答案在官方留档我想知道这是可能的。 这里是样式组件: