【发布时间】:2020-04-30 18:27:33
【问题描述】:
我们有一个组件。我们称之为<MyComponent>。它被用于十几个不同的文件中。我们想改变这个组件的样式。幸运的是,该组件公开了一个属性stylingProps。因此,我们在十几个文件中的每一个中都写了以下内容:
public render() {
const styles = {color: "purple", background: "gold"}
return(
<MyComponent
otherPropsUniqueToEachfile={"somethingOrOther"}
styles={styles}
>
"Some text"
</MyComponent>
)}
我应该如何重构它,以免在十几个不同的文件中添加具有完全相同值的常量styles?这样做的“反应方式”是什么?
【问题讨论】:
-
你能改一下
MyComponent吗?如果没有,创建一个新的MyUpdatedComponent,它只返回<MyComponent style={{/**/}} {...props} /> -
你不需要 React 方式,只需要基本的 JavaScript/编程 - 有一个合理的默认值。
-
您可以创建一组 HOC 组件。
-
我假设您有 3-4 种不同的方式来设置 MyComponent 的样式。您可能会创建 3-4 个不同的组件,例如 MyComponentWrapper1、MyComponentWrapper2 等,并在其中封装不同的样式。
-
然后包装它。
标签: reactjs refactoring dry