Javascript 为什么';t运行此代码,并向我发送以下错误:(未处理的拒绝(TypeError):this.state不是函数)
我是一个初学者,a试图编写一个react应用程序作为练习 我期待看到这样的事情: 但是它给了我这个错误Javascript 为什么';t运行此代码,并向我发送以下错误:(未处理的拒绝(TypeError):this.state不是函数),javascript,reactjs,Javascript,Reactjs,我是一个初学者,a试图编写一个react应用程序作为练习 我期待看到这样的事情: 但是它给了我这个错误未处理的拒绝(TypeError):this.state不是一个函数 (匿名功能) import React,{Component}来自'React'; 从“./SearchBox”导入搜索框; 从“/CardList”导入卡片列表; 导入“./App.css” 从“/robot”导入{robot}; 类应用程序扩展组件{ 构造函数(){ 超级() 此.state={ 机器人:[], 搜索字段:
未处理的拒绝(TypeError):this.state不是一个函数
(匿名功能)
import React,{Component}来自'React';
从“./SearchBox”导入搜索框;
从“/CardList”导入卡片列表;
导入“./App.css”
从“/robot”导入{robot};
类应用程序扩展组件{
构造函数(){
超级()
此.state={
机器人:[],
搜索字段:“”
}
}
componentDidMount(){
取('https://jsonplaceholder.typicode.com/users')
.then(response=>response.json())
.then(用户=>{this.state({robot:robot}}})
}
onSearchChange=(事件)=>{
this.setState({searchfield:event.target.value})
}
render(){
const filteredrobots=this.state.robot.filter(
机器人=>{
return robot.name.includes(this.state.searchfeild)})
返回(
机器人朋友
)
}
}
导出默认应用程序;
不了解出了什么问题,请提前感谢问题似乎出在
componentDidMount
的功能上
您尝试在该函数中设置,但没有执行此.setState,而是执行了此.state
应该是这样的:
componentDidMount(){
fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(users => {this.setState({robot:robot})})
}
另外,当您尝试设置状态时,在componentDidMount函数中,我看不到任何地方定义了robot
。。。。所以机器人的价值是不确定的
如果您需要澄清,请告诉我。好的
这个.state
不是一个函数,而您所做的->这个.state({
,您可能是想做这个.setState({
相反。好的,这很有用,我将其替换为[]robot处于this.state状态,它运行但不显示cardList为什么?我不太明白您要显示的内容。如果您显示cardList,可能会有所帮助。
componentDidMount(){
fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(users => {this.setState({robot:robot})})
}