当我呈现使用.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
答案 0 :(得分:2)
要更新,您当前的问题正在发生,因为您正在使用.bind()
但未提供任何参数来应用该功能。因为React为您绑定了上下文,.bind(null)
完全没用。您应该为调用添加一些参数(.bind(null, arg1, arg2)
)或将其完全删除,然后使用this.handleMouseOver
。
错误正在发生,因为您已绑定到this
而不是null
。 React想要明确表示它正在为你做绑定 - 你不必担心它。将.bind(this, report)
更改为.bind(null, report)
,警告就会消失。