使用具有自定义样式道具的第三方组件创建样式化的组件?

时间:2020-01-11 04:48:33

标签: react-native styled-components

我正在使用来自react-native-community的Slider,该组件具有用于对其进行样式设置的独特道具,thumbTintColor,minimumTrackTintColor,maximumTrackTintColor,我需要将这些样式传递给我的themeprovider。似乎我无法将props传递给此组件,有人知道实现此目的的方法吗?这就是我现在所拥有的,但不幸的是它无法正常工作。

const StyledSlider = styled(Slider)``

export const SurveySlider = props => {
    return (
        <StyledSlider
            style={{
              width: '80%',
              height: 40,
              alignSelf: 'center'
            }}
           minimumValue={0}
           maximumValue={20}
           thumbTintColor={`${props => props.theme.primaryColor}`}
           minimumTrackTintColor={`${props => 
           props.theme.primaryColor}`}
           maximumTrackTintColor={`${props => 
           props.theme.primaryColor}`}
          onValueChange={value => props.onValueChange(value)}
          />
          )
        }

2 个答案:

答案 0 :(得分:2)

尝试: minimumTrackTintColor = {props.theme.primaryColor}

答案 1 :(得分:0)

我能够使用样式化组件提供的attrs方法来解决此问题

const StyledSlider = styled(Slider).attrs(props => { thumbTintColor:props.theme.primaryColor })``