INDEX
開く ▼

Reactでcontextを使った汎用的に使えるタブ機能を作ってみた

Learning React Module Tab Gms6h88743

Reactで実装した汎用的に再利用できるタブモジュールを作成してみたので記録に残しておきます。

モジュールのスコープ内でデータのやり取りも完結できるようにReactのcontextを利用。<TabProvider>でラップして簡単に実装でき、TabProvider内に複数のタブトリガーがあっても連携可能。逆に、TabProviderの外にある別のタブには干渉しない。

基本的な使い方

詳しくは、GitHubのREADME.md参照。(まだ記入中...)

Tabモジュールから提供されるコンポーネントは下記の3つ。

TabTriggerTabContentは、あくまでも機能面を提供するだけで、デザインは提供しません。なので、下記のように、任意の要素をそれぞれのTabコンポーネントでラップしてタブ機能を付与します。

実際に実装したサンプル

ソースコード一部抜粋

全てのソースコードはこちらのGitHubページから。

<TabProvider initialState={{
  active: '001'
}}>
  <div className="list">
    <TabTrigger member={{
      id: '001'
    }}>
      <div style={{border: '1px solid #fff', padding: '9px'}}>
        タブ001
      </div>
    </TabTrigger>
    <TabTrigger member={{
      id: '002'
    }}>
      <div style={{border: '1px solid #fff', padding: '9px'}}>
        タブ002
      </div>
    </TabTrigger>
    <TabTrigger member={{
      id: '003'
    }}>
      <div style={{border: '1px solid #fff', padding: '9px'}}>
        タブ003
      </div>
    </TabTrigger>
  </div>
  <TabContent member={{
    id: '001'
  }}>
    <div style={{backgroundColor: 'rgba(255, 255, 255, .2)', padding: '9px'}}>
      <p>
        001
      </p>
    </div>
  </TabContent>
  <TabContent member={{
    id: '002'
  }}>
    <div style={{backgroundColor: 'rgba(255, 255, 255, .2)', padding: '9px'}}>
      <p>
        002
      </p>
    </div>
  </TabContent>
  <TabContent member={{
    id: '003'
  }}>
    <div style={{backgroundColor: 'rgba(255, 255, 255, .2)', padding: '9px'}}>
      <p>
        003
      </p>
    </div>
  </TabContent>
</TabProvider>

References

スキルアップ転職を目指すなら「エンジニア特化型転職エージェント」を活用しよう

もし下記のような悩みがあれば、スキルアップを目的とした転職をするのもひとつの手段です。

・モダンな環境での経験が積みたい...
・実際に働いてみてもっと取り組みたい案件が明確になった
・学習をしているが先が見えずこのまま1人でスキルアップするのは辛い...
・今の職場ではなかなか理想の案件にアサインしてもらえない...

レバテックキャリアやユニゾンキャリアといったエンジニアに特化した転職エージェントであれば、初回面談でまずは現状の悩みを聞いてくれたり丁寧にヒアリングをしてくれます。

さらに、プロのキャリアアドバイザーが企業個別の技術質問・頻出質問の対策、模擬面接でのサポート、ES対策、企業分析・自己分析、求人の紹介など、あなたの転職を徹底サポートしてくれて...下記のどの状況の人でもメリットがあるので、まだ使っていない人は無料相談から進めておきましょう。

シチュエーション メリット
既に採用面接を控えている人 模擬面接や面接企業の分析をしてくれる
応募先企業の固有の
質問を気にしている人
応募先企業の頻出質問や気にしていることなど、企業ごとの対策をしてくれる
応募企業がまだ少ない人 応募したい企業をヒアリングしてくれ、ベストな求人をピックアップしてくれる
転職に自信がない人 転職理由や希望条件をヒアリングの上、ベストな応募企業や採用面接のコツをレクチャーしてくれる

IT・Web業界のエンジニア転職に強いエージェントがおすすめ。筆者や同僚も実際に活用していたエージェントをまとめておきます。

現役がおすすめするIT・Webエンジニア特化型の転職エージェント

IT・WEB・ソーシャルゲーム業界への転職ならGEEKLY
The Service Aid Your Career.
ボタンをクリックして無料の転職相談から始めよう!
IT・Web業界での転職なら【レバテックキャリア】
The Service Aid Your Career.
ボタンをクリックして無料の転職相談から始めよう!
IT・Web・ゲーム業界特化の転職エージェント【ユニゾンキャリア】
The Service Aid Your Career.
ボタンをクリックして無料の転職相談から始めよう!
ITエンジニア就職に特化した【ウズカレIT】
The Service Aid Your Career.
未経験ITエンジニアの就職サポートに特化したサービスに無料相談しよう!