在 useState() 中从数组中删除项目

Man*_*Roy 0 reactjs react-hooks

我正在学习反应。需要一些帮助才能理解这一点。

我有两个按钮。一个是“添加随机文本”,另一个是“删除”。

对于添加按钮,我用来Math.random生成数字并添加一些文本。

我想通过映射来显示列表项。当单击删除按钮时,最后一个项目将被删除。

我尝试过pop(),但只显示已删除的那个。我怎样才能保留整个列表并删除最后一个?

const [data, setData]=useState([]);
let addHandler =()=>{
//Newdata is Math.random()*100+some text
setData([...data, newdata])
}
let removeHandler=()=>{

}
Run Code Online (Sandbox Code Playgroud)

Bas*_*Bas 5

一种方法是将.slice()数组从 0 分区到 length - 1

let removeHandler=()=>{
    setData(data.slice(0, data.length - 1))
}
Run Code Online (Sandbox Code Playgroud)

.pop()应该也能工作。例如

data.pop() // removes last element from array
setData([...data]) // clone remaining array
Run Code Online (Sandbox Code Playgroud)