首页 > 解决方案 > JavaScript toLowerCase() 方法在我的反应应用程序中返回错误

问题描述

我正在尝试使用该toLowerCase()方法将搜索字段中的所有字符转换为我的反应应用程序中的小写,但给出了错误typeError: Cannot read property 'toLowerCase' of undefined.

onSearchChange = (event) => {
  const filteredRobots = this.state.robots.filter(robot => {
    return robots.name.toLowerCase().includes(this.state.searchfield.toLowerCase());
  })

标签: javascriptreactjs

解决方案


您没有提供足够的信息来解决问题,但这是我的最佳猜测:

robots.name.toLowerCase()应该改为(请注意上robot.name.toLowerCase()的缺失)。srobot

您正在尝试name从要过滤的数组中读取属性,而不是正在操作的当前元素。

对于将来遇到此类错误时,我的建议是检查错误日志中的以下内容:

Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
    at <myFunction>:1:27

这将读作TypeError in "myFunction" function at line 1, column (character) 27. 然后,您就可以准确指出错误的来源。如果您仍然遇到问题,将有用的信息与您的问题一起发布。


推荐阅读