javascript - React 内联样式不会影响我的自定义组件
问题描述
我有一个自定义组件,我需要将它添加到我的使用中。<MyComponent style={{ marginTop: '10px' }}>
我也试过了
const myStyle = { marginTop: '10px' };
`<MyComponent style={myStyle}>`;
而且它都不起作用。当我在同一个文件中为一个简单的文件做同样的事情时<div>
(例如<div style={{ marginTop: '10px' }}>
,<div style={myStyle}>
它按预期工作。
也许值得一提的是,我的自定义组件 ( <MyComponent/>
) 的包装元素是styled-component
.
无论如何都要修复它或让它工作。谢谢!
解决方案
该style
道具将与自定义组件的任何其他道具一样。您需要获取style
给定的道具MyComponent
并将其添加到style
其中一个元素的道具中MyComponent
。
例子
function MyComponent(props) {
return <div style={props.style}>MyComponent</div>;
}
function MyBrokenComponent() {
return <div>MyBrokenComponent</div>;
}
function App() {
const style = { marginTop: "10px", backgroundColor: "green" };
return (
<div>
<MyBrokenComponent style={style} />
<MyComponent style={style} />
</div>
);
}
ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
推荐阅读
- jquery - 发布方法:SyntaxError:意外令牌:d
- kubernetes - AKS HPA 设置可配置属性
- php - 如何通过 PHP 中的反射检测非类型化类属性的 null 默认值?
- c# - 我所有的编译器警告都去哪儿了?VS2019,C# 9,.Net 5
- python - kivy 运行后的回溯
- java - 如何在PDF android中将图像位置更改为中心
- python-3.x - 无法访问 Matplotlib 样式并且“plt.style”为空
- axios - 异步 Axios 调用未在 Svelte 中执行:尝试使用结果引发 TypeError: Cannot convert undefined or null to object ;获取 API 工作
- android - 当显示带有导航组件的对话框时,有没有办法留在当前片段?
- c# - Unity中如何让鼠标看起来更平滑