Javascript 使用React,我试图生成三个代表三个集合的按钮,单击会将您带到该卡片集合
我试图从axios get请求导入一个对象数组,根据数组中的三个对象为三个按钮分配一个值。 我试过了。将数组映射成一个按钮,并使用一个函数将对象名拉入单击。它生成三个按钮,但单击时只生成传递的最后一个对象名。 我曾尝试在Collections函数中分解数组,但当我这样做时,会出现属性名未定义错误。调试时,我尝试在函数中引用axios get,但即使在调试时,它也不起作用Javascript 使用React,我试图生成三个代表三个集合的按钮,单击会将您带到该卡片集合,javascript,reactjs,Javascript,Reactjs,我试图从axios get请求导入一个对象数组,根据数组中的三个对象为三个按钮分配一个值。 我试过了。将数组映射成一个按钮,并使用一个函数将对象名拉入单击。它生成三个按钮,但单击时只生成传递的最后一个对象名。 我曾尝试在Collections函数中分解数组,但当我这样做时,会出现属性名未定义错误。调试时,我尝试在函数中引用axios get,但即使在调试时,它也不起作用 import React from 'react'; import './collections.css'; functi
import React from 'react';
import './collections.css';
function Collections (props) {
let coll = props.collection;
let coll1 = [];
let coll2 = [];
let coll3 = [];
[coll1, coll2, coll3] = coll;
return(
<div className='inline-button'>
<div className='button'>
{/* {coll.map(coll =>(
<tr className='button' key={coll.name}>
<button className='button' onClick={() => props.btn(coll.name)}>{coll.name}</button>
</tr>
))} */}
<button className='button' onClick={() => props.btn(coll1.name)}>{coll1.name}</button>
</div>
</div>
);
}
export default Collections;
从“React”导入React;
导入“/collections.css”;
功能集合(道具){
设coll=props.collection;
设coll1=[];
设coll2=[];
设coll3=[];
[coll1,coll2,coll3]=coll;
返回(
{/*{coll.map(coll=>(
props.btn(coll.name)}>{coll.name}
))} */}
props.btn(coll1.name)}>{coll1.name}
);
}
导出默认集合;
获得StackOverflow帮助的最佳方法是重现您面临的整个问题。做到这一点的最佳工具是制作一个最小的、可重复的示例&展示您已经尝试解决问题的方法
const集合=[
{u id:“608ab61699ee6440388b79fc”,名称:“历史”,卡片收藏:[],[u v:14},
{u id:“608ac84b988f8358acc34495”,名称:“科学”,卡片收藏:[],[u v:5},
{u id:“608ac93d988f8358acc34496”,名称:“线性代数”,cardCollection:[],\u v:5}
]
功能集合(道具){
const coll=props.collection
返回(
{
coll.map((coll)=>{
返回(
props.btn(coll.name)}
>
{
学名
}
)
})
}
)
}
常量应用=(道具)=>{
函数collButton(collName){
//只是模仿这个函数
console.log(collName)
}
返回(
)
}
ReactDOM.render(
,
document.getElementById('root'))
);代码>
能否显示整个组件?你能清理你的代码吗?它很难阅读,看起来至少有2个结束标记丢失了…用整个组件更新。您能显示props.collection
的外观吗(您是否尝试console.log(props.collection)
?它显示了三个对象的数组。数组(3)0:{u id:“608ab61699ee6440388b79fc”,名称:“History”,cardCollection:array(9),v:14}1:{{id:“608ac84b988f8358acc34495”,名称:“科学”,卡片集合:数组(5),{id:“608ac93d988f8358acc34496”,名称:“线性代数”,卡片集合:数组(5),长度:3 uu原型:数组(0)props.btn应该做什么?这是从哪里来的?为什么需要let coll1=[];let coll2=[];让coll3=[];[coll1,coll2,coll3]=coll;
?