从React.js中的函数内部调用组件函数

Arlyon

我有一个这样布置的组件:

var Entry = React.createClass({
    // executes code on a button press.

    onButtonClick: function (event) {
       // (do stuff)
    },

    // generates the entry list with a button and some info.

    render: function() {
        var entryList= this.props.data.map(function(entry) {
            // (convert timestamp into relative time, add some tags etc)
            return (
                <p> entry.information </p>
                <a onClick={onButtonClick} className="btn right" id={entry.link}>
                    go
                </a>
            );
        });

        // returns the html of the component

        return (
            <div className="entryList">
                {entryList}
            </div>
        );
    }
});

我希望能够从render函数的entryList变量中运行onButtonClick函数,但似乎无法弄清楚该怎么做。运行该控制台时,控制台显示未定义onButtonClick。

Uncaught ReferenceError: onButtonClick is not defined

如何“转义”功能?我认为这this.props.data.map(function(items) {});是使问题复杂化的原因,因为从我这样移动按钮就可以很好地访问它

        // returns the html of the component

        return (
            <div className="entryList">
                <a onClick={this.onButtonClick} className="btn right">go</a>
                {entryList}
            </div>
        );
    }
});

谢谢你的帮助!

迈克尔·帕克

您的代码无法按预期方式运行的原因是,上下文this在传递给的匿名函数内部发生了变化mapmap接受一个可选的第二个参数,该参数表示this回调将使用的值因此,只需添加this作为第二个参数即可map解决您的问题。

var entryList = this.props.data.map(function(entry) {
    ...
}, this);

使用ES2015的开发人员还可以使用箭头功能自动绑定的正确上下文this

var entryList = this.props.data.map(entry => {
    ...
});

参考:https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Native:从类中调用功能组件内部的函数

来自分类Dev

在React功能组件中的函数内部调用props.myFunction()

来自分类Dev

在react js中的函数组件内部传递默认prop

来自分类Dev

className react.js内部的调用函数

来自分类Dev

在React中调用多个函数,在组件内部调用一个函数,在组件外部调用另一个函数?

来自分类Dev

如何从React组件中调用Firebase函数

来自分类Dev

在React Native外部组件中调用函数

来自分类Dev

在React的子组件中调用父函数

来自分类Dev

在React中的getDerivedStateFromProps内部调用异步函数

来自分类Dev

如何调用Typescript类的react组件内部定义的函数?

来自分类Dev

React组件中另一个文件中的React JS调用函数

来自分类Dev

react.js中组件构造函数中的函数参数

来自分类Dev

在 React.js 组件中 websocket 的 onopen 事件中调用函数

来自分类Dev

如何在React函数组件中调用API?

来自分类Dev

React Native FlatList - 在返回组件的渲染方法中调用函数

来自分类Dev

在 React 展示组件中以设定的时间间隔调用函数

来自分类Dev

在 react redux 中调用嵌套组件上的函数

来自分类Dev

React + Antd + Rollup组件库“错误:无效的钩子调用。只能在函数组件主体内部调用钩子”

来自分类Dev

从react组件调用外部Javascript函数

来自分类Dev

React-从“同级”组件调用函数

来自分类Dev

在渲染之前调用React组件的函数

来自分类Dev

从子函数内部调用React setState

来自分类Dev

this.props.dispatch 不是 react js 组件文件中的函数

来自分类Dev

在 React 组件的 JS 中使用 CSS 中的 calc 函数

来自分类Dev

匿名函数和直接在React组件中调用函数之间的区别

来自分类Dev

从React组件函数中的另一个文档调用普通javascript函数

来自分类Dev

如何从外部JS文件调用React JS中的函数

来自分类Dev

如何从外部JS文件调用React JS中的函数

来自分类Dev

在匿名函数中调用react函数

Related 相关文章

  1. 1

    React Native:从类中调用功能组件内部的函数

  2. 2

    在React功能组件中的函数内部调用props.myFunction()

  3. 3

    在react js中的函数组件内部传递默认prop

  4. 4

    className react.js内部的调用函数

  5. 5

    在React中调用多个函数,在组件内部调用一个函数,在组件外部调用另一个函数?

  6. 6

    如何从React组件中调用Firebase函数

  7. 7

    在React Native外部组件中调用函数

  8. 8

    在React的子组件中调用父函数

  9. 9

    在React中的getDerivedStateFromProps内部调用异步函数

  10. 10

    如何调用Typescript类的react组件内部定义的函数?

  11. 11

    React组件中另一个文件中的React JS调用函数

  12. 12

    react.js中组件构造函数中的函数参数

  13. 13

    在 React.js 组件中 websocket 的 onopen 事件中调用函数

  14. 14

    如何在React函数组件中调用API?

  15. 15

    React Native FlatList - 在返回组件的渲染方法中调用函数

  16. 16

    在 React 展示组件中以设定的时间间隔调用函数

  17. 17

    在 react redux 中调用嵌套组件上的函数

  18. 18

    React + Antd + Rollup组件库“错误:无效的钩子调用。只能在函数组件主体内部调用钩子”

  19. 19

    从react组件调用外部Javascript函数

  20. 20

    React-从“同级”组件调用函数

  21. 21

    在渲染之前调用React组件的函数

  22. 22

    从子函数内部调用React setState

  23. 23

    this.props.dispatch 不是 react js 组件文件中的函数

  24. 24

    在 React 组件的 JS 中使用 CSS 中的 calc 函数

  25. 25

    匿名函数和直接在React组件中调用函数之间的区别

  26. 26

    从React组件函数中的另一个文档调用普通javascript函数

  27. 27

    如何从外部JS文件调用React JS中的函数

  28. 28

    如何从外部JS文件调用React JS中的函数

  29. 29

    在匿名函数中调用react函数

热门标签

归档