javascript - typescript :_this2.onClick 不是函数

标签 javascript typescript react-native typescript2.0 native-base

我使用 typescript 进行 react-native 开发。 这里的 ListListItem 来自 NativeBase,ListItem 类似于 TouchableOpacity 组件。

...
public onClick = () => this.props.navigation.navigate("NextScreen");
public _renderRow = (item: any) {
    return (
        <ListItem onPress={() => this.onClick()}>
             ...
        </ListItem>
    );
}
public render() {
   return(
        <List
            dataArray={this.data}
            renderRow={this._renderRow}
        />
   );
}

当我点击项目时,它显示以下错误。

_this2.onClick is not a function. (In '_this2.onClick()', '_this2.onClick' is undefined)

我认为这是因为 onClick() 函数未绑定(bind)到组件类。 typescript 中是否自动绑定(bind)函数?

我该如何解决这个问题?

最佳答案

您需要将方法绑定(bind)到组件类:

public onClick() { 
  this.props.navigation.navigate("NextScreen"); 
}
public _renderRow(item: any) {
    return (
        <ListItem onPress={this.onClick}>
             ...
        </ListItem>
    );
}
public render() {
   return(
        <List
            dataArray={this.data}
            renderRow={this._renderRow.bind(this)} // <---- Here
        />
   );
}

关于javascript - typescript :_this2.onClick 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49136836/

相关文章:

javascript - 使用 xmlHTTPRequest 在新窗口中打开安全应用程序

javascript - 由于生成了错误的路径,图像在 React 的生产版本中消失了

javascript - 尚未为上下文 : _. 加载 TypeScript 导出和导入模块名称使用 require([])

reactjs - 警告 : Failed prop type: Invalid prop 'source' supplied to 'Image'

表单提交后 JavaScript 重定向不起作用。 Asp 经典、Javascript

Javascript/Jquery/Moment.js 计算两个日期之间的天数

typescript - 如何通过TypeScript关闭Electron应用程序?

node.js - 使用 typescript 和 Node js 从 Elasticsearch 中删除记录

react-native - React Native Android build : Process 'command ' npx. cmd'' 以非零退出值 1 完成

react-native - 如何在 native react 中禁用键盘