Overall styling

Ant Design uses Less variables to set the overall theme of the site. This list of variables is pretty large. The down side of this approach is that you can't switch themes or do anything "on the fly" and the styling is always global without manually scoping.

          @primary-color: #1890ff;
          @link-color: #1890ff;
          @success-color: #52c41a;
          @warning-color: #faad14;
          @error-color: #f5222d;
          .....
        
Component styling

You can style individual components by assigning a class and using plain styling files or use inline styling. Some components are still hard to style because they only use the native styling like with radio buttons.

          import styles from './example.less';
          export default () => <div className={styles.title}>Some text</div>;

          <div className="antd-txt-error">Some text</div>

          <div style={{ width: 300 }}>Some text</div>
        
Styled component

You can use an external styled components package but you still have to override the antd classes, so there are no real extra benefit of wrapping them in a styled component then just using a plain style sheet.

          const StyledButton = styled(Button)`
            &.ant-btn-clicked:after {
              background-color: "#FE6B8B";
            }
          `;

          <StyledButton>Some text</StyledButton>