【发布时间】:2019-02-24 20:25:58
【问题描述】:
我正在使用 React Native 进行开发。
我有一个渲染项目的FlatList。我添加了TouchableOpacity 并想在按下该项目时调用一个函数,但该函数没有被调用。
当我点击该项目时,我得到一个错误 找不到变量:_onPress
我认为这是范围界定的问题。有人可以向我解释发生了什么问题吗?
我想第二个问题是:我的_onPressconsole.log 会像我一样通过传递道具来记录项目名称吗?
export default class ModalScreen extends React.Component {
//..
_onPress = (item) => {
console.log('Clicked:' + item)
};
renderItem({ item }) {
return (
<TouchableOpacity onPress={() => this._onPress(item)}>
<View>
<Text>{item.name}</Text>
</View>
</TouchableOpacity>
)
}
render() {
return (
//..
<View style={{flex: 2, backgroundColor: '#FFF', flexDirection:'row'}} >
<FlatList
data={this.state.searchedItems}
renderItem={this.renderItem}
/>
</View>
//..
【问题讨论】:
标签: javascript reactjs react-native scope