Reactjs 对象映射不是函数

Reactjs 对象映射不是函数,reactjs,react-router,axios,Reactjs,React Router,Axios,我有一个问题,我不明白为什么我有错误“Object.map不是一个函数 您可以在此处看到我的代码: onClick(student_id) { let session_id = this.props.match.params.id let config = { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': `Bearer ${auth

我有一个问题,我不明白为什么我有错误“Object.map不是一个函数

您可以在此处看到我的代码:

  onClick(student_id)
 {
let session_id = this.props.match.params.id
let config = {
  headers: {
  'Accept': 'application/json',
  'Content-Type': 'application/json',
  'Authorization': `Bearer ${authentication.getToken()}`
  }
}
axios.post(`http://127.0.0.1:8000/api/sessions/${session_id}/students/${student_id}`, config)
.then(response => {
  this.props.history.push('/')
}).catch(err => console.log(err));

}

 render() {
  const students = Object.map(student => (
    <ul>
      <button onClick={this.onClick(student.id)} >Ajouter 
 {student.name} à la session</button>
    </ul>
  ));
return (
onClick(学生id)
{
让session_id=this.props.match.params.id
让配置={
标题:{
“接受”:“应用程序/json”,
“内容类型”:“应用程序/json”,
'Authorization':`Bearer${Authorization.getToken()}`
}
}
轴心柱(`http://127.0.0.1:8000/api/sessions/${session\u id}/students/${student\u id}`,配置)
。然后(响应=>{
this.props.history.push(“/”)
}).catch(err=>console.log(err));
}
render(){
const students=Object.map(student=>(
    阿约特 {student.name}la session
)); 返回(
有人能指导我解决这个问题吗?
谢谢

这是因为Object.map不存在。您要做的是映射到students数组上(该数组必须存在于组件的状态/道具中)

这可以通过以下方式实现:

students.map(student => (<ul>your code here</ul>))
students.map(student=>(
    你的代码在这里

这是因为Object.map不存在。您要做的是映射到students数组上(该数组必须存在于组件的状态/道具中)

这可以通过以下方式实现:

students.map(student => (<ul>your code here</ul>))
students.map(student=>(
    你的代码在这里

您没有为
对象
赋值,而且您也不能这样做,因为
对象
是一个保留关键字。
对象
没有名为
映射
的方法,但是
数组

let arr=[{name:'Name1',年龄:23},{name:'Name2',年龄:24},{name:'Name3',年龄:21}]
设stdObj={name:'Name1',年龄:23岁,学生:true}
//映射数组
arr.map(obj=>console.log(obj.name));
//映射对象

Object.keys(stdObj).map(data=>console.log(stdObj[data]));
您没有为
对象
赋值,而且您不能这样做,因为
对象
是一个保留关键字。
对象
没有名为
map
的方法,但是
数组

let arr=[{name:'Name1',年龄:23},{name:'Name2',年龄:24},{name:'Name3',年龄:21}]
设stdObj={name:'Name1',年龄:23岁,学生:true}
//映射数组
arr.map(obj=>console.log(obj.name));
//映射对象

Object.keys(stdObj).map(data=>console.log(stdObj[data]));
只能在数组上调用map函数。不能在对象上调用map。但是,如果要在对象上迭代,可以这样做,请检查下面的示例

const obj = {'name':'somename','age':23}
Object.keys(obj).map(key => console.log(obj[key]));

只能对数组调用map函数。不能对对象调用map。但是,如果要在对象上迭代,可以这样做,请检查下面的示例

const obj = {'name':'somename','age':23}
Object.keys(obj).map(key => console.log(obj[key]));

这很可能是因为
Object.map
不是一个函数,不是所有的对象都有
map()
method;只有
Array
对象有此功能。显然
对象
原型没有此功能。为了更好地理解此功能,请检查一次,它可能是最明确的,因为
Object.map
不是一个函数。并非所有对象都有
map()
方法;只有
数组
对象才有。显然
对象
原型没有它。为了更好地理解,请检查一次