reactjs / reactjs/react.dev

suggest add some code examples here, I think it's very helpful for people who are learning

オープン
#5,947 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
JavaScript
スター
11.8k
フォーク
7.9k
平均マージ
1日 11時間
マージ済み PR(30日)
11

説明

https://react.dev/learn/preserving-and-resetting-state#preserving-state-for-removed-components
image
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' },
];

Memo3

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

react.dev のリンク先にある「Preserving state for removed components」セクションから始め、提供されている Messenger の例とスクリーンショットを確認してください。提案されたアプローチを説明する明確なコード例を追加し、その後、周辺のドキュメントに適合し、ページ上で正しくレンダリングされることを確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, react
領域
documentation
issue の種類
ドキュメント
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。