Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 使用具有自定义样式道具的第三方组件创建样式化组件?_React Native_Styled Components - Fatal编程技术网

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

React native 使用具有自定义样式道具的第三方组件创建样式化组件?,react-native,styled-components,React Native,Styled Components,我使用react native community的滑块该组件具有用于设置其样式的独特道具,thumbTintColor、minimumTrackTintColor、maximumTrackTintColor,我需要将样式从themeprovider传递给它们。似乎我无法将道具传递给此组件,有人知道实现此目的的方法吗?这就是我现在拥有的,不幸的是它不起作用 const StyledSlider = styled(Slider)`` export const SurveySlider = pro

我使用react native community的滑块该组件具有用于设置其样式的独特道具,thumbTintColor、minimumTrackTintColor、maximumTrackTintColor,我需要将样式从themeprovider传递给它们。似乎我无法将道具传递给此组件,有人知道实现此目的的方法吗?这就是我现在拥有的,不幸的是它不起作用

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)}
          />
          )
        }
const StyledSlider=styled(滑块)``
导出常量SurveySlider=props=>{
返回(
props.theme.primaryColor}`}
minimumTrackTintColor={`${props=>
props.theme.primaryColor}`}
maximumTrackTintColor={`${props=>
props.theme.primaryColor}`}
onValueChange={value=>props.onValueChange(value)}
/>
)
}
试试这个:
minimumTrackTintColor={props.theme.primaryColor}

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

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

我无法通过我的themeprovider${props=>props.theme.primaryColor}中的颜色将颜色传递给道具…:(不幸的是,我返回“undefined不是对象”('evaluation'props.theme.primaryColor'))您是否从父组件传递了“主题”道具?主题是否是具有primaryColor键的对象?是的,我传递了主题,它将应用于其他组件。我将主题对象传递给ThemeProvider,它将包装我的整个apptry console.log(props.theme)或console.log(props)检查是否已将主题对象传递到此组件。