在Reactjs中单击按钮将数据添加到数组中
我有一个数组在Reactjs中单击按钮将数据添加到数组中,reactjs,Reactjs,我有一个数组 let newLinkedArray=[]; newDocArray && newDocArray.map(doc => { newLinkedArray.push({DocName:doc, Type:"Checks", DocID:0}) }) 它不会改变,单击包含数据的按钮后,我想将该数据添加到包含相同字段的数组中。每次单击一个按钮,我都想将每个数据推送到这个数组中。根据我的代码
let newLinkedArray=[];
newDocArray && newDocArray.map(doc => {
newLinkedArray.push({DocName:doc, Type:"Checks", DocID:0})
})
它不会改变,单击包含数据的按钮后,我想将该数据添加到包含相同字段的数组中。每次单击一个按钮,我都想将每个数据推送到这个数组中。根据我的代码,选定的数据仅添加到该数组中
let newAddArr=[{
"DocName":selectedRow !== null? docTolinked[selectedRow].ShortPath:'',
"Type" :selectedRow !== null? docTolinked[selectedRow].Type:'',
"DocID": selectedRow !== null? docTolinked[selectedRow].DocID:''
}]
let newAddLinkArr =[]
newAddLinkArr =addDoc1 && [...newLinkedArray, ...newAddArr];
这是我的密码。单击按钮时,设置了“addDoc1”标志。如何在每个按钮上单击选定行将其添加到此数组?这取决于您喜欢功能组件还是有状态组件。这是一个使用功能方法的解决方案:
import React, { useState, useCallback } from 'react';
const Elem = () => {
const [array, setArray] = useState([]);
const addNewRow = useCallback(() => {
// selectedRow comes from somewhere else
const newAddArr = {
"DocName":selectedRow !== null? docTolinked[selectedRow].ShortPath:'',
"Type" :selectedRow !== null? docTolinked[selectedRow].Type:'',
"DocID": selectedRow !== null? docTolinked[selectedRow].DocID:''
};
setArray([...array, newAddArr]);
}, [array, setArray]);
return (
<button onClick={addNewRow}>Click me!</button>
);
};
import React,{useState,useCallback}来自“React”;
常量=()=>{
const[array,setArray]=useState([]);
const addNewRow=useCallback(()=>{
//selectedRow来自其他地方
常数newAddArr={
“DocName”:selectedRow!==null?doctorined[selectedRow]。短路径:“”,
“类型”:selectedRow!==null?doctorinked[selectedRow]。类型:“”,
“DocID”:selectedRow!==null?doctorined[selectedRow]。DocID:“”
};
setArray([…数组,newAddArr]);
},[array,setArray]);
返回(
点击我!
);
};