📅  最后修改于: 2023-12-03 15:07:23.260000             🧑  作者: Mango
反应JS是一个用于构建用户界面的JavaScript库。在React中,列表是一种常见的UI元素,本篇文章将介绍如何使用React创建和呈现列表。
React中使用map
函数创建列表,可以将数组中的每个元素映射为一个React元素。
function List(props) {
const items = props.items.map((item) =>
<li key={item.id}>
{item.text}
</li>
);
return (
<ul>
{items}
</ul>
);
}
解释:
List
组件接收一个items
数组作为props。map
函数遍历items
数组中的每个元素,并返回一个新的数组,其中包含每个元素的React元素。<li>
元素,包含唯一的key
属性和该元素所代表的文本内容。List
组件返回一个包含所有React元素的<ul>
元素。要使用List
组件,只需将items
数组传递给它即可。
const items = [
{id: 1, text: 'Item 1'},
{id: 2, text: 'Item 2'},
{id: 3, text: 'Item 3'}
];
function App() {
return (
<div>
<h1>My List</h1>
<List items={items} />
</div>
);
}
解释:
App
组件包含一个标题和一个List
组件。items
数组包含三个对象,每个对象都有一个id
和一个text
属性。items
数组作为items
属性传递给List
组件。React中的状态可用于更新UI。以下示例演示如何使用状态来添加和删除列表项。
function List(props) {
const [items, setItems] = React.useState(props.items);
function addItem() {
const text = prompt('Enter a new item:');
if (text) {
setItems([...items, {id: items.length + 1, text}]);
}
}
function removeItem(id) {
setItems(items.filter(item => item.id !== id));
}
return (
<div>
<button onClick={addItem}>Add Item</button>
<ul>
{items.map(item => (
<li key={item.id}>
{item.text}
<button onClick={() => removeItem(item.id)}>Remove</button>
</li>
))}
</ul>
</div>
);
}
解释:
List
组件使用useState
钩子来管理items
数组的状态。addItem
函数打开一个prompt对话框,要求用户输入一个新的列表项。如果有文本输入,则向items
数组添加一个新对象,并使用setItems
函数更新状态。removeItem
函数使用filter
函数从items
数组中删除一个对象,并使用setItems
函数更新状态。List
组件返回一个包含Add Item
按钮和所有列表项的<ul>
元素。每个列表项都有一个Remove
按钮,用于将该项从列表中删除。使用React创建列表非常简单,只需使用map
函数即可。可以通过使用状态来动态添加和删除列表项。希望这篇文章对React开发人员有所帮助!