🏋️

【実践】React 100本ノック No.1:Hello, World

2024/06/12に公開

はじめに

はじめまして!@haganenoubik(アライ リョータ)です。

現在、ReactとTypeScriptを学習中です。

Reactの基礎的な学習をある程度終えた(TypeScriptは触り程度)ので、アウトプット主体で理解度を深めるために、下記のQiita記事シリーズを参考に、課題のミニアプリを作成していきます。

https://qiita.com/Sicut_study/items/3c5cd798313854a471a0

※良い機会なので、記事はZenn CLIを使用して作成しました

使用環境

手軽に環境構築できるため、基本的にはStackblitzを使用していく予定。

Stackblitz

課題

  • "Hello World"コンポーネントの作成
成果物

達成条件

  • "Hello World"というテキストが画面中央に表示されている
  • スタイリング等は自由

技術スタック

  • Vite
  • React
  • TypeScript
  • Styled Components ※スタイリングについては適宜変更予定

実装の大まかな流れ

前提
  • Stackblitzで「React(TypeScript)」を選択して新規プロジェクト作成
  • プロジェクト作成辞にデフォルトで設定されているCSS等は一旦削除して開始
  • HelloWorldコンポーネントの作成
  • (一応)FCでのHelloWorldコンポーネントの型定義
  • pタグでテキスト表示
  • Appコンポーネント内へのHelloWorldコンポーネントの配置
  • Styled Componentsのインストール
  • スタイリングを画面中央に配置

完成 🙌

コード
App.tsx
import './App.css'
import { HelloWorld } from './components/HelloWorld'

function App() {
  return (
    <HelloWorld />
  )
}

export default App
components/HelloWorld.tsx
import { FC } from 'react';
import styled from 'styled-components';

export const HelloWorld: FC = () => {
  return (
  <SP>
    Hello, World
  </SP>
  );
};

const SP = styled.p`
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100vh;
`;
補足:Styled Components

CSS-in-JSライブラリ。
→ CSSファイルではなく、JavaScript系ファイル(.js, .jsx等)に直接スタイルを記述できる。

使用例
// styledをimportする
import styled from 'styled-components';

export const App = () => {
  return <SButton>ボタン</SButton>;
};

// 変数名に決まりはないが、Styled Componentsを使用していることがわかりやすいよう、"S + タグ名"で設定

// const スタイルタグ名 = styled.タグ名` ~CSS形式でスタイルを記述 `;
const SButton = styled.button`
  background: palevioletred;
  color: white;
`;

総括

今回の実装は超基礎的な内容だったので、特に問題なく実装できました。
CSSは雰囲気で実装している部分もあるので、副次的に学習する良い機会になりそうです。

おわりに

他の学習等と並行しつつなので、更新は不定期になるかと思いますが、コードの記法やファイル構造で、ベターな方法があればアドバイスいただけるとありがたいです!

それではまた次回!👋

GitHubで編集を提案

Discussion