suggest add some code examples here, I think it's very helpful for people who are learning
未关闭
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 11.8k
- 派生
- 7.9k
- 平均合并
- 1 天 11 小时
- 30 天内合并 PR
- 11
描述
https://react.dev/learn/preserving-and-resetting-state#preserving-state-for-removed-components

for example:
You could render all chats instead of just the current one, but hide all the others with CSS.
import { useState } from 'react';
import Chat from './Chat.js';
import ContactList from './ContactList.js';
export default function Messenger() {
const [to, setTo] = useState(contacts[0]);
return (
<div>
<ContactList
contacts={contacts}
selectedContact={to}
onSelect={(contact) => setTo(contact)}
/>
<div className="chats-container">
{contacts.map((contact) => (
<div
key={contact.id}
className={`chat-wrapper ${to.id === contact.id ? 'active' : ''}`}
>
<Chat contact={contact} />
</div>
))}
</div>
<style>
{`
.chats-container {
display: flex;
}
.chat-wrapper {
display: none;
}
.chat-wrapper.active {
display: block;
}
`}
</style>
</div>
);
}
const contacts = [
{ id: 0, name: 'Taylor', email: 'taylor@mail.com' },
{ id: 1, name: 'Alice', email: 'alice@mail.com' },
{ id: 2, name: 'Bob', email: 'bob@mail.com' },
];

贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 react.dev 上链接的“Preserving state for removed components”部分开始,查看提供的 Messenger 示例和屏幕截图。添加一个清晰的代码示例来解释建议的方法,然后验证它与周围的文档相符,并且能够在页面上正确渲染。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, react
- 领域
- documentation
- Issue 类型
- 文档
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100