为什么在我的组件在View中使用using语句时会发生永久违规?

时间:2019-05-07 09:07:06

标签: javascript react-native

这是React Native

0.59.6

我创建了覆盖但不起作用的功能

return s == '00' ? <View>
        <TouchableOpacity onPress={() => this.setState({
          timeCount: 'A'
        })}>
          Jangkrik
        </TouchableOpacity>
      </View> : h + m + ':' + s 

如何解决此问题,但是如果使用文本,则可以像下面的代码一样工作:

return s == '00' ? <Text> Jangkrik </Text> : h + m + ':' + s

但是当使用Button或TouchbelOpacity时会发生不变错误

2 个答案:

答案 0 :(得分:0)

您的formatMilliseconds组件中的

TimerCountdown应该返回原始文本,例如h + m + ':' + s,某些文本封装在Text组件中

返回的值将呈现在Text组件内...因此,当您尝试返回TouchableOpacity组件时,会出现invariant violation错误...引起反应-native:Text组件不接受TouchableOpacity作为子项...

文本组件的有效子代为:1.原始文本。 2.文字部分

答案 1 :(得分:0)

Text内使用TouchableOpacity组件

<TouchableOpacity onPress={() => this.setState({
          timeCount: 'A'
        })}>
         <Text>Jangkrik</Text>
        </TouchableOpacity>