我想禁用在按下TouchableHighlight时使图像变黑的“颜色闪烁”或“颜色闪烁”效果。
这是屏幕渲染:
<TouchableHighlight onPress={this._onPressButton}>
<Image
source={require('../../img/fish.png')}
style={[styles.iconSize, styles.iconMarginRight]}/>
</TouchableHighlight>
Run Code Online (Sandbox Code Playgroud)
我该如何完成?
我在 React 上创建了一个游戏,我正在尝试将我的代码调整为 React Native。困扰我的一件事是如何翻译这三行,因为在 RN 中没有可依赖的 DOM 解决方案:
handleClick(e) {
this.props.change(e.currentTarget.id);
}
Run Code Online (Sandbox Code Playgroud)
这里发生的事情是一个无状态的孩子正在收集一个被点击的元素 id(currentTarget 的),并使用它来调用在父元素中定义的方法。e.currentTarget.id
然而,这种公式在 RN 中不起作用。
有没有一种雄辩的方法可以在 RN 中重写这一行?
注意:这里和这里有两个与此类似的问题,但答案看起来更像是补丁而不是结构优雅的解决方案。如果您知道某些事情,请发布答案。
编辑:似乎不能绕过 ReactNativeComponentTree。
到目前为止,我有这么多,但这还不起作用:
handlePress(event) {
let number = ReactNativeComponentTree.getInstanceFromNode(event.currentTarget)._currentElement.id;
this.props.change(number);
}
Run Code Online (Sandbox Code Playgroud)
第二次编辑:好吧,也许我应该添加一个我想要实现的简单示例。当我点击任何平面列表的元素时,它的 id 应该显示在 Child 的底部。单击重置将恢复默认状态。
下面的简单示例代码:
import React, { Component } from 'react';
import { AppRegistry, FlatList, StyleSheet, Text, View, Button } from 'react-native';
import ReactNativeComponentTree from 'react-native';
export default class Parent extends Component {
constructor(props) {
super(props);
this.state …
Run Code Online (Sandbox Code Playgroud) 我已在简单屏幕上添加了按钮,每当按下按钮时我想滚动底部。向按钮 onPress 添加什么代码?
render() {
return (
<ScrollView>
{this.yourComponents()}
<Button>Scroll To Bottom </Button>
</ScrollView>
)
}
Run Code Online (Sandbox Code Playgroud) 我在将 future 方法中的符号分配给 onpressed 时遇到问题:参数类型“Future”不能分配给参数类型“void Function()”。