2017-02-23 8 views
0

독서를 해주셔서 감사합니다. 본인은 React Native에 초보자입니다.이 사이트에서 비슷한 질문을하지만, 제 질문과 다릅니다.반응 네이티브 TouchableHighlight 다른 화면을 열려면 아무 것도 누르지 마십시오.

TouchableHighlight를 사용하여 새 화면을 열려면 누르십시오. 그러나 버튼은 색상이 변하지 않았습니다. 그게 정상인가요?

    내가 TouchableOpacity를 사용하려고
  • :

    내 시도의 일부가 있습니다 버튼은 그것을 불투명도를 변경 한 후 나는 또한 TouchableNativeFeedback 사용하려고

  • 새 화면이 열립니다 : 버튼 한 번 정상적으로 동작을, 내가 길게 누르지 않으면 두 번째 시간을 두 드릴 때 아무런 행동이 없습니다.
  • 새 화면을 열지 않고 버튼을 사용하여 다른 작업을 수행하면 올바르게 동작합니다. "반응": 내가 사용하는

    import React from 'react'; 
     
    import { 
     
        StyleSheet, 
     
        Text, 
     
        View, 
     
        Image, 
     
        TouchableHighlight, 
     
    } from 'react-native'; 
     
    
     
    import MyInfoOrder from './MyInfoOrder'; 
     
    
     
    export default class MyInfo extends React.Component{ 
     
        _onPress(){ 
     
         console.log("tap"); 
     
        } 
     
        _onPressMessage(){ 
     
         const { navigator } = this.props; 
     
         if(navigator) { 
     
          navigator.push({ 
     
           name: 'order', 
     
           component: MyInfoOrder, 
     
          }) 
     
         } 
     
        } 
     
        render(){ 
     
         return(
     
          <View style={styles.btnGroup}> 
     
             <TouchableHighlight style={[styles.btnItem]} onPress={this._onPressMessage.bind(this)}> 
     
              <View style={styles.btnItemView}> 
     
               <Image source={require('../images/myinfo/message.png')} style={styles.btnItemViewImage} /> 
     
               <Text style={styles.btnItemViewText}>MyTest</Text> 
     
               <Image source={require('../images/more.png')} style={styles.btnItemViewArrow} /> 
     
              </View> 
     
             </TouchableHighlight> 
     
             <View style={styles.lineStyle}></View> 
     
             <TouchableHighlight style={[styles.btnItem]} onPress={this._onPress}> 
     
              <View style={styles.btnItemView}> 
     
               <Image source={require('../images/myinfo/friends.png')} style={styles.btnItemViewImage} /> 
     
               <Text style={styles.btnItemViewText}>MyTest</Text> 
     
               <Image source={require('../images/more.png')} style={styles.btnItemViewArrow} /> 
     
              </View> 
     
             </TouchableHighlight> 
     
             <View style={styles.lineStyle}></View> 
     
             <TouchableHighlight style={[styles.btnItem]} onPress={this._onPress}> 
     
              <View style={styles.btnItemView}> 
     
               <Image source={require('../images/myinfo/col.png')} style={styles.btnItemViewImage} /> 
     
               <Text style={styles.btnItemViewText}>MyTest</Text> 
     
               <Image source={require('../images/more.png')} style={styles.btnItemViewArrow} /> 
     
              </View> 
     
             </TouchableHighlight> 
     
            </View> 
     
         ) 
     
        } 
     
    } 
     
    
     
    const styles = StyleSheet.create({ 
     
        
     
        btnGroup:{ 
     
         marginBottom:30, 
     
         borderRadius:10, 
     
         backgroundColor:'#FFFFFF', 
     
        }, 
     
        btnItem:{ 
     
         height:104, 
     
         borderRadius:10, 
     
        }, 
     
        btnItemView:{ 
     
         borderRadius:10, 
     
         backgroundColor:'#FFFFFF', 
     
         height:106, 
     
         flexDirection:'row', 
     
         alignItems:'center', 
     
        }, 
     
        btnItemViewImage:{ 
     
         width:48, 
     
         height:48, 
     
         marginLeft:24, 
     
         marginRight:24 
     
        }, 
     
        btnItemViewText:{ 
     
         flex:1, 
     
         fontSize:32, 
     
         color:'#333333', 
     
        }, 
     
        btnItemViewArrow:{ 
     
         width:30, 
     
         height:30, 
     
         marginRight:30 
     
        }, 
     
        
     
    })

    : 여기

내 코드입니다 "15.4.2" "반응 네이티브": "0.41.2" , 플랫폼 : Android 6.0

답변

0

누를 때 TouchableHighlight의 색상을 변경하려는 경우 underlayColor (소품 단위)

+0

답변을 생각해보십시오. 언더 레이 색상을 추가하고 다시 시도하지만 아무런 효과가 없습니다. Debug JS를 원격으로 실행하면 천천히 실행됩니다. 색상이 실제로 변경되었습니다. 너무 빠르게 탭하면 지연 시간을 추가하여 열 수 있습니다. – user7609090