如何在不使用bind的情况下将回调传递给链接

时间:2015-12-29 16:25:20

标签: reactjs

当我呈现使用.bind进行onMouseOut和onMouseOver回调的链接(数千次)时,React会生成数千个控制台警告。

<a href={'http://localhost:8000/display' + this.props.user_id} onMouseOver={this.handleMouseOver.bind(null)}>show user</a>

如果我不使用handleMouseOver,则回拨bind不会触发,但是,如上所述,如果我使用bind,则每次创建链接时都会生成警告(这是成千上万次)

如何在不生成警告的情况下将回调传递给此链接?

Warning: bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See module.exports

1 个答案:

答案 0 :(得分:2)

要更新,您当前的问题正在发生,因为您正在使用.bind()但未提供任何参数来应用该功能。因为React为您绑定了上下文,.bind(null)完全没用。您应该为调用添加一些参数(.bind(null, arg1, arg2))或将其完全删除,然后使用this.handleMouseOver

错误正在发生,因为您已绑定到this而不是null。 React想要明确表示它正在为你做绑定 - 你不必担心它。将.bind(this, report)更改为.bind(null, report),警告就会消失。