Reactjs 对象映射不是函数
我有一个问题,我不明白为什么我有错误“Object.map不是一个函数 您可以在此处看到我的代码: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
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()
方法;只有数组
对象才有。显然对象
原型没有它。为了更好地理解,请检查一次