Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';t运行此代码,并向我发送以下错误:(未处理的拒绝(TypeError):this.state不是函数)_Javascript_Reactjs - Fatal编程技术网

Javascript 为什么';t运行此代码,并向我发送以下错误:(未处理的拒绝(TypeError):this.state不是函数)

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={ 机器人:[], 搜索字段:

我是一个初学者,a试图编写一个react应用程序作为练习

我期待看到这样的事情: 但是它给了我这个错误
未处理的拒绝(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})})
}