在 JSX 中进行条件渲染和循环,你可以使用条件语句(如 if-else)和数组的方法(如 map)来动态生成组件或元素。以下是一些示例来说明这些概念:
- 条件渲染:
import React from 'react';
const MyComponent = () => {
const isLoggedIn = true;
return (
<div>
{isLoggedIn ? <h1>Welcome, User!</h1> : <h1>Welcome, Guest!</h1>}
</div>
);
}
export default MyComponent;
在上述示例中,通过使用条件语句(三元表达式) {isLoggedIn ? <h1>Welcome, User!</h1> : <h1>Welcome, Guest!</h1>}
,根据变量 isLoggedIn
的值动态地渲染不同的标题。
- 循环渲染(使用 map):
import React from 'react';
const MyComponent = () => {
const names = ['John', 'Jane', 'Bob'];
return (
<ul>
{names.map((name, index) => (
<li key={index}>{name}</li>
))}
</ul>
);
}
export default MyComponent;
在这个示例中,我们有一个名为 names
的字符串数组。通过使用 map
方法,我们遍历数组中的每个元素,并使用箭头函数将其转换为 <li>
元素。每个生成的 <li>
都需要一个唯一的 key
属性,这里我们使用 index
作为 key
。最后,我们将所有生成的 <li>
元素包装在 <ul>
元素中进行渲染。
注意:在循环渲染中,一定要为每个生成的元素指定一个唯一的 key
属性。这有助于 React 在重新渲染时有效地识别和更新元素。
通过这些示例,你可以在 JSX 中灵活地进行条件渲染和循环,根据不同的条件和数据动态生成组件或元素。这是使用 React 构建动态和可复用 UI 的重要工具。