javascript - 如何将 React 默认样式与 style prop 结合起来?

标签 javascript reactjs

我有以下 ui 组件:

...
import stylePropType from 'react-style-proptype';

const Heading = ({
  ...
  marginBottom,
  strong
}) => (
  <Header
    style={{
      marginBottom,
      fontWeight: strong ? 'bold' : 'normal',
    }}
  >....
  </Header>
);

Heading.defaultProps = {
  children: <div />,
  marginBottom: 4,
  strong: false,
  style: {},
};

Heading.propTypes = {
  children: PropTypes.node,
  marginBottom: PropTypes.number,
  strong: PropTypes.bool,
  style: stylePropType,
};

如何将当前样式逻辑(marginBottom 和 fontWeight)与作为 prop 传入的可选附加样式结合起来?有没有办法将两者结合或合并?

最佳答案

您可以在传入的样式上使用展开语法 (...):

  <Header
    style={{
      marginBottom,
      fontWeight: strong ? 'bold' : 'normal',
      ...this.props.style
    }}
  >....
  </Header>

关于javascript - 如何将 React 默认样式与 style prop 结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48734828/

相关文章:

javascript - 如果 'this',则 RXJS Angular 2 可观察到失去轨道

reactjs - 无法覆盖 Fab 禁用的颜色 Material - ui

javascript - 尝试理解 React 的 Set State - Set State 并将其应用于单个组件

javascript - ResizeObserver API 未在 React 中获取更新状态

javascript - 如何使用react-router <Prompt>显示组件以防止或允许路由更改

javascript - react 。如何取消订阅 React componentWillUnmount 中的事件处理程序?

javascript - 本地存储,以及如何延迟 div 可见性

javascript - 如何使用 Gulp、Uglify 和 Concat 生成有效的 Source Maps?

javascript - THREE.JS - 如何在调整窗口大小时保持场景的完整性?

reactjs - 将 Action 创建者传递给 React-Redux 应用程序中的功能组件的良好实践?