Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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 使用React,我试图生成三个代表三个集合的按钮,单击会将您带到该卡片集合_Javascript_Reactjs - Fatal编程技术网

Javascript 使用React,我试图生成三个代表三个集合的按钮,单击会将您带到该卡片集合

Javascript 使用React,我试图生成三个代表三个集合的按钮,单击会将您带到该卡片集合,javascript,reactjs,Javascript,Reactjs,我试图从axios get请求导入一个对象数组,根据数组中的三个对象为三个按钮分配一个值。 我试过了。将数组映射成一个按钮,并使用一个函数将对象名拉入单击。它生成三个按钮,但单击时只生成传递的最后一个对象名。 我曾尝试在Collections函数中分解数组,但当我这样做时,会出现属性名未定义错误。调试时,我尝试在函数中引用axios get,但即使在调试时,它也不起作用 import React from 'react'; import './collections.css'; functi

我试图从axios get请求导入一个对象数组,根据数组中的三个对象为三个按钮分配一个值。 我试过了。将数组映射成一个按钮,并使用一个函数将对象名拉入单击。它生成三个按钮,但单击时只生成传递的最后一个对象名。 我曾尝试在Collections函数中分解数组,但当我这样做时,会出现属性名未定义错误。调试时,我尝试在函数中引用axios get,但即使在调试时,它也不起作用

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;