React native 使用具有自定义样式道具的第三方组件创建样式化组件?
我使用react native community的滑块该组件具有用于设置其样式的独特道具,thumbTintColor、minimumTrackTintColor、maximumTrackTintColor,我需要将样式从themeprovider传递给它们。似乎我无法将道具传递给此组件,有人知道实现此目的的方法吗?这就是我现在拥有的,不幸的是它不起作用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
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)检查是否已将主题对象传递到此组件。