神戸学院大学 経営学部 林坂ゼミ

React 入門トップページ

« 戻る 次へ »

React 入門

JavaScript コメント掲示板アプリの開発

Comment コンポーネントの作成

前のページのようにコメントの一覧を表示してもよいのですが,React では特定の処理(表示)を担当する機能をコンポーネントとして切り出してそれを利用する方法が好まれます.ここでは1件のコメント表示を担当する機能を Comment コンポーネントとして作成することにします.

まず,src/components/ フォルダ内に Comment.js ファイルを作成します.Visual Studio Code であればファイルを作成したら先頭で rafce と入力した後に Tab を押して次の雛形を作成します.(その他のエディタであれば下のコードをコピーして利用してください.)

src/components/Comment.jsimport React from 'react'

const Comment = () => {
  return (
    <div>Comment</div>
  )
}

export default Comment

CommentListPage.js から Comment コンポーネントを呼び出すコードを追加します.具体的にはスクリプトの先頭で Comment コンポーネントをインポートしてから,commentItems 関数の中から Comment コンポーネントを呼び出します.このとき,やはり key 属性が必要になります.また,12行目のようにコメントのデータを Comment コンポーネントに渡しています.

src/components/CommentListPage.js(抜粋)import React from 'react'
import Comment from './Comment';

const CommentListPage = () => {

...(中略)...

  const commentItems = results.results.map((comment) => {
    return (
      <Comment
        key={comment.id}
        comment={comment}
      />
    )
  });

・・・(省略)...

CommentListPage コンポーネントから渡された comment データを Comment コンポーネントでは props で受け取ることができます.なお props は親コンポーネント(ここでは CommentListPage)から子コンポーネント(ここでは Comment)へ値を受け渡しするための窓口のようなイメージで理解しておくとよいでしょう.

src/components/Comment.jsimport React from 'react'

const Comment = (props) => {
  return (
    <div>{props.comment.title}</div>
  )
}

export default Comment

コメントのタイトルが表示できました.

react-2024-25

目次に戻る