【发布时间】:2021-06-03 19:43:54
【问题描述】:
对于这个非常基本的问题,我很抱歉,因为我是刚接触 js 的新手。我在一个反应组件中创建了一个数组,并通过一个组件中的映射函数呈现它,我想根据_id从另一个组件更改(添加/主题)数组。以下是一个示例,可以帮助您更好地理解我真正想要的。在此先感谢先生
{*Array Component*}
const ArrayData =[
{
_id:1,
title:"All Searches"
},
{
_id:5,
title:1
},
{
_id:6,
title:"4"
}
]
export default ArrayData;
{*2nd Component*}
import react from "react"
import ArrayData from ArrayComponent
class Parent extends React.Component {
constructor() {
super();
this.state = {
ArrayData:ArrayData,
collapsed: false,
}
}
render() {
const { ArrayData } = this.state;
return (
<>
<FirstChild Data={ArrayData} />
<SecondChild />
</>
);
}
}
export default Parent;
!------------------------------------------!
{*FirstChild*}
class FirstChild extends React.Component {
constructor(props){
super();
this.state={
ArrayData:props.ArrayData
}
}
render() {
const { ArrayData} = this.state;
const renderArray = ArrayData.slice(0, 5).map(Object => {
return <h1>{object._id} </h1>
})
return (
<>
{renderArray}
</>
);
}
}
export default FirstChild;
!-----------------------------------------!
{*SecondChild*}
import { React } from "react";
const SecondChild = () => {
const handleUpdate=(_id, Title) =>{
{*function that can add the inputs as a object into that arrayComponent*}
}
const handleDelete=(_id) =>{
{*function that can delete a object from that arrayComponent having the id given by User in the feild*}
}
return (
<>
<input type='text' name='_id' placeHolder="Which object you want to delete" />
<button type=Submit onClick={handleDelete} >Delete</button>
<br></br>
<input type='text' name='_id' />
<input type='text' name='title' />
<button type=Submit onClick={handleUpdate} >Update</button>
</>
);
}
export default SecondChild;
【问题讨论】:
-
change是什么意思,你想对ArrayData数组进行CRUD操作吗。 -
主题到底是什么?它们是
ArrayData内部的对象吗? -
您尚未从
Parent组件传递tabsData。那么你怎么能进入child组件呢?请具体说明您想做什么以及您尝试过什么。 -
抱歉弄错了
-
我需要在需要时将新项目添加到我的数组中,并从同一个数组中删除包含特定 id 的项目,例如如果用户添加数据,它应该将该数据作为另一个对象添加到该数组中( 3 之前和现在该数组中的 4 个对象)并且用户想要删除具有特定 id 的项目然后它从具有该 id 的数组中删除该对象
标签: javascript arrays reactjs jsx