我遇到了 TouchableHighlight 和 TouchableOpacity 在渲染时做出视觉反应的行为(未调用 onPress)。
有一件事是,当我进入页面并且按钮发出轻微的“闪烁”时,它看起来有点奇怪。这很奇怪,但可以忍受。更令人沮丧的是,如果我改变父组件的状态并因此调用 re-render(),按钮将再次“闪烁”,使得每当我改变状态时所有按钮都会闪烁。
按下按钮会改变页面状态,因此按下按钮会使两个按钮“闪烁”。
我使用react-redux,但这不应该影响这种行为。
下面的代码仅用于说明。
render()
{
return(
<View>
<ToucableHightlight> //Click here changes state
<Content/>
</ToucableHightlight>
<ToucableHightlight> //Click here changes state
<Content/>
</ToucableHightlight>
<View>
);
}
Run Code Online (Sandbox Code Playgroud) 我怎样才能传递成功和可传递的id.
for(var i = 0; i < datasource.length;i++){
var currentIndex = i;
this.viewCollection.push(
<TouchableHighlight onPress={() => this.handleItemTouch(currentIndex)} >
</TouchableHighlight>
);
}
handleItemTouch(i) {
//i is every time equal to datasource.length
Run Code Online (Sandbox Code Playgroud)
//基于"我"我想在某处滚动}
我想要做的是,基于哪个触摸高亮灯按下滚动视图基于"i"参数滚动到ax坐标
我想禁用在按下TouchableHighlight时使图像变黑的“颜色闪烁”或“颜色闪烁”效果。
这是屏幕渲染:
<TouchableHighlight onPress={this._onPressButton}>
<Image
source={require('../../img/fish.png')}
style={[styles.iconSize, styles.iconMarginRight]}/>
</TouchableHighlight>
Run Code Online (Sandbox Code Playgroud)
我该如何完成?
我正在尝试使用Expo在React Native中创建一个tic tac toe board.我正在使用TouchableHighlight使电路板可触摸,以便我可以添加X和O. 当应用程序运行时,我收到以下错误:"找不到变量:TouchableHighlight"(Board.js 12:6).
Board.js
import React, { Component } from 'react';
import { Text, View, Image, StyleSheet } from 'react-native';
export default class Board extends Component {
_onPressButton() {
console.log("you tapped the thing");
}
render() {
return (
<TouchableHighlight onPress={this._onPressButton}>
<View style={styles.container}>
<Image source = {require('./board.png')} style = {styles.table}/>
</View>
</TouchableHighlight>
);
}
}
const Xmark = (props) => (
<View>
<Image source = {require('./Xmark.png')} style = {styles.mark}/>
</View>
);
const Omark = (props) => ( …Run Code Online (Sandbox Code Playgroud) 如果我正在制作网站,我可以使用mousedown事件在按下鼠标按钮(尚未释放)时触发某些内容。
在 React Native 中,我有一个TouchableHighlight并且可以注册一个onPress回调,但这仅在我从按钮上松开手指时触发。
有没有办法在手指触摸按钮时立即触发,而不是仅在手指松开时触发?