reactjs - 添加到状态数组的按钮仅在添加到该状态本身时打印状态数组
问题描述
我单击“添加按钮”按钮将 Btn 组件添加到状态数组,并将它们全部映射到页面。如图所示,在我添加了大约 6 个之后,我单击其中任何一个,它们会打印出在将特定按钮添加到状态数组之前的状态。
例如,如果我创建 6 个 Btn,然后单击第 3 个 Btn,它会打印带有 2 个 Btn 而不是 6 个的状态数组。
const Btn= (props) => {
return (
<button type="button" onClick={props.removeButton}>DELETE</button>
)
}
const App = () => {
const [buttonArray,changeButtonArray]=useState([]);
function addButton(){
changeButtonArray([...buttonArray,<Btn removeButton={removeButton}/>])
}
function removeButton(){
console.log(buttonArray)
}
let buttonList = buttonArray.map((item,index)=><div key={index}>{item}</div>)
return (
<>
<div>
{buttonList}
</div>
<button type="button" onClick={addButton}>ADD BUTTON</button>
</>
);
}
解决方案
推荐阅读
- laravel - 使用 Maatwebsite/Laravel-Excel 生成 csv 文件如何使标题返回动态数组
- json - 通过“路径”从 json 对象中提取数据
- linux - 如何为用户清除 linux 机器上的缓存?
- reactjs - ReasonReact useState 与获取的数据
- r - 根据另一列中的条件过滤重复项
- javascript - 如何延迟使用 Javascript 制作的警报框?
- python - 如何将索引的名称更改为熊猫中的其他值
- python - 如何解决“运行 SQL 查询时出错”。蟒蛇中的错误
- r - R Shiny 服务器变量定义。修改后的值不反映
- objective-c - 应用所选图像时 UITabBarButton 索引发生变化