掲示板アプリの作成-2(ローカル 一覧表示)

NO IMAGE

前回で前準備をしました。


まずはローカルで動くよう作っていきたいと思います。
※classNameはMaterializedを使用するための名前です。

編集ファイル名

src/components/layout/Navbar.js

共通のレイアウトのナビゲーションバーを作成します。

import React from 'react';
import { Link } from 'react-router-dom';

const Navbar = () => {
	return (
		<nav className="nav-wrapper black">
			<div className="container">
				<Link to="/">掲示板アプリ</Link>
			</div>
		</nav>
	);
}

export default Navbar;

src/App.js

こちらをsrc/App.jsから呼び出してあげます。

import React from 'react';
import { BrowserRouter } from 'react-router-dom';
import Navbar from './components/layout/Navbar';

function App() {
	return (
		<BrowserRouter>
			<Navbar/>
			test
		</BrowserRouter>
	);
}

export default App;

yarn startコマンドで動いているかを確認しましょう。

無事動けば画面が表示されるはずです。
※control+Cで実行(yarn start)は止められます

これから一覧表示をするための
コードを書いていきたいと思います。

流れとしては、
Dashboard.jsがProjectList.jsを呼び出し、
ProjectList.jsがProjectSummary.jsを呼び出す形になります。

1:ProjectSummary.js
2:ProjectList.js
3:Dashboard.js
の順で作っていきます。

src/components/projects/ProjectSummary.js

import React from 'react';

const ProjectSummary = () => {
	return (
		<div className="card">
			<div className="card-content">
				<span className="card-title">タイトル1</span>
				<p>内容 :内容1</p>
				<p>投稿者:名前1</p>
				<p>日付 :6/18</p>
			</div>
		</div>
	);
}

export default ProjectSummary;

src/components/projects/ProjectList.js

import React from 'react';
import ProjectSummary from './ProjectSummary';

const ProjectList = () => {
	return (
		<div className="section">
			<ProjectSummary />
			<ProjectSummary />
			<ProjectSummary />
		</div>
	);
}

export default ProjectList;

src/components/projects/ProjectList.js

import React, { Component } from 'react';
import ProjectList from '../projects/ProjectList';

class Dashboard extends Component {
	render() {
		return (
			<div className="container">
				<div className="row">
					<div className="col s12 m8">
						<ProjectList />
					</div>
				</div>
			</div>
		);
	};
}

export default Dashboard;

Dashboard.jsを呼び出すためsrc/App.jsを編集します。

src/App.js

import React, { Component } from 'react';
import { BrowserRouter, Switch, Route } from 'react-router-dom';
import Navbar from './components/layout/Navbar';
import Dashboard from './components/dashboard/Dashboard';

class App extends Component {
	render() {
		return (
			<BrowserRouter>
				<div>
					<Navbar/>
					<Switch>
						<Route exact path="/" component={Dashboard} />
					</Switch>
				</div>
			</BrowserRouter>
		);
	};
}

export default App;

これで一覧表示を呼び出してくれるはずです。
yarn start で実行して、画面を確認してみましょう。

ProjectSummary.jsに書いた内容を
ProjectList.jsで3回読んでいるので3つ表示されています。

次回はReduxを使用して、データ管理をしたいと思います。

https://kazunaka.com/react-firabase-bulletin-board-3/


Firebaseカテゴリの最新記事