En mi aplicación móvil react-native he escrito un componente llamado Row in row.js que contiene un TouchableOpacity con un controlador de eventos onClick() . Sin embargo, cuando se hace clic en el componente, la función no se ejecuta.

El componente Fila muestra texto sobre una película en particular y debe ejecutar la función handlePress () cuando se hace clic en:

 const Row = props ={amp}gt; ( {amp}lt;TouchableOpacity onClick={() ={amp}gt; props.handlePress(props.imdbID)} style={styles.row}{amp}gt; {amp}lt;Text{amp}gt;Some text{amp}lt;/Text{amp}gt; {amp}lt;/TouchableOpacity{amp}gt; ) 

En un archivo app.js separado, la función handlepress se ha escrito y se pasa al componente Row como accesorio. La variable imdbID también se pasa al componente desde el objeto de película:

 handlePress = imdbID ={amp}gt; { // do something with imdbID } 
 {amp}lt;Row handlePress={this.handlePress} {...film} /{amp}gt; 

¿Puede alguien decirme qué estoy haciendo mal y por qué la función no se ejecuta?

Si echas un vistazo a los documentos , no tiene onClick .

Deberías usar onPress .

 const Row = props ={amp}gt; ( // using onPress {amp}lt;TouchableOpacity onPress={() ={amp}gt; props.handlePress(props.imdbID)} style={styles.row}{amp}gt; {amp}lt;Text{amp}gt;Some text{amp}lt;/Text{amp}gt; {amp}lt;/TouchableOpacity{amp}gt; ) 

Use onPress() lugar de onClick()

código mejorado

 const Row = props ={amp}gt; ( {amp}lt;TouchableOpacity onPress={()={amp}gt; props.handlePress(props.imdbID)} style={styles.row}{amp}gt; {amp}lt;Text{amp}gt;Some text{amp}lt;/Text{amp}gt; {amp}lt;/TouchableOpacity{amp}gt; ) 

Use onPress en lugar de onClick y asegúrese de que está importando tocable desde react-native no manipulador de gestos

React-Native no proporciona la funcionalidad onClick , sino que da onPress , así que reemplace onClick con onPress

 const Row = props ={amp}gt; ( {amp}lt;TouchableOpacity onPress={() ={amp}gt; props.handlePress(props.imdbID)} style={styles.row}{amp}gt; {amp}lt;Text{amp}gt;Some text{amp}lt;/Text{amp}gt; {amp}lt;/TouchableOpacity{amp}gt; ) 

Espero que esto ayude, siéntase libre de dudas

React native no tiene onClick para TouchableOpacity . Use onPress lugar.