Button 组件

样式自定义覆盖

getClassName = () => {
  const { className, type } = this.props
  const classStr = ClassNames('mobile-btn', className, {
    ['mobile-btn-primary']: type === 'primary',
  })
  return classStr
}
.mobile-btn {
  ...
  &-primary {
    background: $btn-background;
  }
}

这里有个样式优先级的知识点, 如果想让传进来的自定义样式 className 中的 background 覆盖掉 mobile-btn-promarybackground, 需做如下改动:

.mobile-btn {
  ...
}

&.mobile-btn-primary {
  background: $btn-background;
}

难点

在移动端中, 手指移到 button 按钮上时如何模拟 pc 端的 hover 状态?