【发布时间】:2021-02-09 15:56:01
【问题描述】:
是的,所以我正在尝试学习 react,并且我正在做一个简单的项目来更好地理解它。
基本上我要做的是使用一个文件中的 useState 并让它通过另一个文件上的 onClick 函数进行更改,如下所示:
list.js
export const List= [
{id:1, obj:'item1'},
{id:2, obj:'item2'},
{id:3, obj:'item3'},
{id:4, obj:'item4'},] ;
index.js
import React,{useState} from 'react'
import {List} from './list'
import ItemList from './ItemList'
function Items(){
const [items,setItems] = React.useState(List);
return (
<>
<h1>{items.length} Items in total</h1>
{items.map((itemArr)=>{
return (
<ItemList {...itemArr}/>
)
})}
</>
)
}
ReactDom.render(<Items />,document.getElementById('root')
)
ItemList.js
import React from 'react'
function ItemList(props) {
const {id,obj} = props;
const removeItem = (id) =>{
//Code Here
}
return (
<div>
<h3>{id}</h3>
<h4>{obj}</h4>
<button onClick={()=> removeItem(id)}>Remove</button>
</div>
)
}
export default ItemList
我想要做的是,当我单击按钮时,removeItem 函数将删除带有id 的所有项目并使用.filter。但我面临的问题是我似乎无法找到如何调用并将某些内容返回给setItems,以便我可以更改值。而且我找不到将setItem 传递给itemList.js 的方法。
【问题讨论】:
标签: reactjs