Checkbox(复选框):是一种常见的用户界面元素,允许用户从多个选项中选择一个或多个选项。
ReactJS:是一个用于构建用户界面的JavaScript库,特别适合构建单页应用程序。它通过组件化的方式管理UI的状态和行为。
以下是一个使用ReactJS和Checkbox向数组添加/删除元素的示例:
import React, { useState } from 'react';
function CheckboxList() {
const [items, setItems] = useState([]);
const [selectedItems, setSelectedItems] = useState([]);
const handleCheckboxChange = (event) => {
const { value, checked } = event.target;
if (checked) {
setSelectedItems([...selectedItems, value]);
} else {
setSelectedItems(selectedItems.filter(item => item !== value));
}
};
const handleAdd = () => {
setItems([...items, ...selectedItems]);
setSelectedItems([]);
};
const handleRemove = (item) => {
setItems(items.filter(i => i !== item));
};
return (
<div>
<h2>Available Items</h2>
<ul>
{['Apple', 'Banana', 'Cherry'].map((item, index) => (
<li key={index}>
<input
type="checkbox"
value={item}
onChange={handleCheckboxChange}
/>
{item}
</li>
))}
</ul>
<button onClick={handleAdd}>Add Selected Items</button>
<h2>Added Items</h2>
<ul>
{items.map((item, index) => (
<li key={index}>
{item}
<button onClick={() => handleRemove(item)}>Remove</button>
</li>
))}
</ul>
</div>
);
}
export default CheckboxList;
useState
钩子正确管理状态,并在操作后调用相应的状态更新函数。useCallback
和useMemo
钩子来优化函数和计算结果的缓存,减少不必要的重新渲染。通过以上方法,可以有效管理和优化使用Checkbox和ReactJS进行数组操作的流程。
领取专属 10元无门槛券
手把手带您无忧上云