【问题标题】:React JS OnBlur Error反应 JS OnBlur 错误
【发布时间】:2017-06-10 04:10:18
【问题描述】:

我有以下脚本:

class GlobalSearch extends Component {
    search_blur(){
        console.log("inside_blur_function");
    }
    render(){
        return(
            <div className="search-container">
                <input type="search" onBlur="{this.search_blur}"/>
            </div>
        );
    }
}

但是,当我运行脚本时,它返回以下错误:

未捕获的错误:预期 onBlur 侦听器是一个函数,而不是字符串类型

我已经用谷歌搜索了几个小时来寻找解决方案,但找不到任何正确的解决方案。有什么指点吗?

【问题讨论】:

  • 你读过错误吗?我建议阅读 {}... 中有关 XML 标记属性和表达式的基本 React 教程
  • 老兄,我确实知道如何阅读错误,但不知道正确的解决方案是什么,仅仅因为你擅长 ReactJS,你不必那么自大。即使是专家也可能犯一点小错误。
  • 不要自大,我是想告诉你在问之前先做研究。
  • 我做了几个小时,你读过我的整篇文章吗?

标签: reactjs


【解决方案1】:

错误是不言自明的,onBlur 需要一个函数作为参数,而您正在提供一个字符串。您需要删除为 onBlur 定义的函数周围的引号

<input type="search" onBlur={this.search_blur}/>

【讨论】:

  • 哇,简直不敢相信,解决方案如此简单,我只需要删除双引号,谢谢,你救了我的一天:)
  • 我需要大约 10 分钟才能接受您的解决方案,这是 stackoverflow 规则。我稍后会接受解决方案。
  • 没问题,很高兴能帮上忙 :) 如果您使用其中的状态,您可能还需要稍后绑定该函数
  • 您可以参考SO stackoverflow.com/questions/41688366/…上的以下解决方案
  • 感谢您的提示,当您必须解决某些问题时,这很令人沮丧,但是截止日期已经足够近了。有些人的帮助足以让其他人感到沮丧,但你恰恰相反,非常感谢。
猜你喜欢
  • 2021-01-08
  • 2018-08-16
  • 2017-12-22
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 2016-07-15
  • 2017-01-15
  • 2020-09-08
相关资源
最近更新 更多