内置自定义组件的TouchableWithoutFeedback不会触发onshress回调

时间:2015-05-20 12:04:44

标签: javascript reactjs react-native

我做了 DEMO

所以问题是第三个按钮不起作用。按钮之间的唯一区别是我在Header组件中传递它们的方式。

<Header secondButton={<View style={styles.button}><Text>Second Button</Text></View>}
        thirdButton={<ThirdButton />}
        onPress={this._handlePress} />

2 个答案:

答案 0 :(得分:7)

我的解决方案是改变这个......

<TouchableWithoutFeedback onPress={props.onPress}>
  <Contents {...props} />
</TouchableWithoutFeedback>

进入这个...

<TouchableWithoutFeedback onPress={props.onPress}>
  <View>
    <Contents {...props} />
  </View>
</TouchableWithoutFeedback>

答案 1 :(得分:-1)

@brentvatne在github

上回答
  

我能够在this example修复它 - 请注意我改变了它   <View>中的ThirdButton {...this.props}包含<View style={styles.button} {...this.props}> .. etc </View>

TouchableWithoutFeedback
     

原因是ThirdButton将设置响应者   该组件上的道具,但UIView只是一个复合组件   没有后备View,所以我想将这些内容传递给tb.setEnabled(true)。   See what I'm talking about here