返回 1. 首先,我们需要定义一个
2. 接下来,我们需要定义一个
3. 最后,我们需要定义一个
4. 在组件中使用
React:记账本03---标签页,打造自定义标签管理系统
前端
2023-09-03 04:23:13
前言
标签页是一个非常有用的组件,它可以帮助我们对数据进行分类和管理。在记账本项目中,标签页可以用来对账单进行分类,比如收入、支出、娱乐等。
标签页的实现
1. 首先,我们需要定义一个Tag
组件。
const Tag = ({ tag, onDelete }) => {
return (
<li>
<span>{tag}</span>
<button onClick={onDelete}>删除</button>
</li>
);
};
这个组件很简单,它只是显示一个标签和一个删除按钮。
2. 接下来,我们需要定义一个Tags
组件。
const Tags = ({ tags, onAddTag, onDeleteTag }) => {
return (
<div>
<ul>
{tags.map((tag) => (
<Tag key={tag} tag={tag} onDelete={() => onDeleteTag(tag)} />
))}
</ul>
<button onClick={onAddTag}>添加标签</button>
</div>
);
};
这个组件稍微复杂一些。它包含一个列表,用来显示所有的标签。它还有一个按钮,用来添加新的标签。
3. 最后,我们需要定义一个useTags
自定义hook。
const useTags = () => {
const [tags, setTags] = useState<string[]>([]);
const addTag = (tag: string) => {
setTags([...tags, tag]);
};
const deleteTag = (tag: string) => {
setTags(tags.filter((t) => t !== tag));
};
return { tags, addTag, deleteTag };
};
这个自定义hook是一个状态管理工具,它可以帮助我们管理标签。它包含一个状态变量tags
,用来存储所有的标签。它还包含两个函数addTag
和deleteTag
,用来添加和删除标签。
4. 在组件中使用useTags
自定义hook
const App = () => {
const { tags, addTag, deleteTag } = useTags();
return (
<div>
<h1>标签页</h1>
<Tags tags={tags} onAddTag={addTag} onDeleteTag={deleteTag} />
</div>
);
};
在App
组件中,我们使用useTags
自定义hook来管理标签。我们把tags
、addTag
和deleteTag
这三个值传递给Tags
组件,以便Tags
组件能够使用它们。
结语
以上就是如何使用React构建标签页的完整过程。通过自定义hooks封装useTags.tsx,我们可以轻松实现标签页功能,并将其集成到我们的React应用程序中。希望本指南对您有所帮助。