JavaScript toLowerCase()方法在我的react应用程序中返回错误
我正在尝试使用JavaScript toLowerCase()方法在我的react应用程序中返回错误,javascript,reactjs,Javascript,Reactjs,我正在尝试使用toLowerCase()方法将react应用程序中搜索字段中的所有字符转换为小写,但给出了错误typeError:无法读取未定义的属性“toLowerCase”。 onSearchChange=(事件)=>{ const filteredRobots=this.state.robots.filter(robot=>{ 返回robots.name.toLowerCase().includes(this.state.searchfield.toLowerCase()); }) 您没有
toLowerCase()
方法将react应用程序中搜索字段中的所有字符转换为小写,但给出了错误typeError:无法读取未定义的属性“toLowerCase”。
onSearchChange=(事件)=>{
const filteredRobots=this.state.robots.filter(robot=>{
返回robots.name.toLowerCase().includes(this.state.searchfield.toLowerCase());
})
您没有提供足够的信息来解决此问题,但以下是我的最佳猜测:
您的robots.name.toLowerCase()
应该改为robot.name.toLowerCase()
(注意robot
上缺少的s
)
您试图从正在筛选的数组中读取name
属性,而不是从正在操作的当前元素中读取
对于将来遇到此类错误,我的建议是检查您的错误日志以了解以下内容:
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
at <myFunction>:1:27
Uncaught TypeError:无法读取未定义的属性“toLowerCase”
时间:1:27
在第1行第27列(字符)的“myFunction”函数中,这将被理解为类型错误。这样,您就可以准确地指出错误的来源。如果您仍然被卡住,可以在发布问题的同时发布有用的信息
const filteredRobots = this.state.robots.filter(robot => {
return robot.name.toLowerCase().includes(this.state.searchfield.toLowerCase());
})
我认为这只是打字错误。
将“robots”替换为“robot”谢谢,我在传递到筛选方法的robot参数中漏掉了“s”。谢谢,我在传递到筛选方法的robot参数中漏掉了“s”