为什么通过样式传递的动态道具未应用到我的子组件?

时间:2018-07-23 20:21:52

标签: javascript react-native

我正在尝试传递不透明度道具op。在这里,我在父组件中对其进行计算,然后将其传递:

cardOpacity = Date.now() < (entry.lastCompleted / 1000000 + 43200000)? 0.5 : 1
return (
  <ChallengeCarousel
    key={index}
    title={entry.title}
    op={cardOpacity}
    onOpenWebsite={funcOpenWebsite}
  />
);

在孩子中,我尝试了几种不同的添加方式,方法是使用StyleSheet.create()将其放入对象中,然后将其放入样式数组中。我还尝试将其作为样式数组中的对象放入。

render () {
  const {op} = this.props;
  const opacityStyles = StyleSheet.create({
    card: {
      opacity: op
    }
  })
return (
  <TouchableHighlight
    activeOpacity={ 0.5 }
    underlayColor={ '#fff' }
    style={ styles.slideInnerContainer }
    onPress={ () => { this.goChallengeActivityDetail() }}
  >
    <View style={ styles.contentContainer }>
        <View style={[opacityStyles.card, styles.centerContainer, {opacity: op}]}> 
          <Text numberOfLines={2} style={ styles.description }>{ subtitle } </Text>
        </View>
    </View>
  </TouchableHighlight>
);

另一个提示是,当我更改父项中的内容时,我看到了效果,但是当我直接对组件进行更改时,它什么也没有改变。

0 个答案:

没有答案