はじめに
本記事は、プログラミングの学習を始めて1ヶ月の初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
##React 入門
###Reactとは
Facebook社(現 Meta Platforms)が開発したUIパーツを構築するためのJavaScriptライブラリです。
###モーダルの作成
以下のように記述することでモーダルを作成することができます。
App.js
import React from 'react';
import Lesson from './Lesson';
class Main extends React.Component {
render() {
const lessonList = [
{
name: '~~~~',
image: '#',
introduction: '~~~~~~~~~~',
},
{
name: '~~~~',
image: '#',
introduction: '~~~~~~~~~~',
},
{
name: '~~~~',
image: '#',
introduction: '~~~~~~~~~~',
},
{
name: '~~~~',
image: '#',
introduction: '~~~~~~~~~~',
},
];
return (
<div className='main-wrapper'>
<div className='main'>
<div className='copy-container'>
<h1>ああああああ。</h1>
<h2>ああああああ。</h2>
</div>
<div className='lesson-container'>
<h3>ああああああ。</h3>
{lessonList.map((lessonItem) => {
return (
<Lesson
name={lessonItem.name}
image={lessonItem.image}
introduction={lessonItem.introduction}
/>
);
})}
</div>
</div>
</div>
);
}
}
export default Main;
Lesson.js
import React from 'react';
class Lesson extends React.Component {
constructor(props) {
super(props);
this.state = {isModalOpen: false};
}
handleClickLesson() {
this.setState({isModalOpen: true});
}
handleClickClose() {
this.setState({isModalOpen: false});
}
render() {
let modal;
if (this.state.isModalOpen) {
modal = (
<div className='modal'>
<div className='modal-inner'>
<div className='modal-header'></div>
<div className='modal-introduction'>
<h2>{this.props.name}</h2>
<p>{this.props.introduction}</p>
</div>
<button
className='modal-close-btn'
onClick={() => {this.handleClickClose()}}
>
とじる
</button>
</div>
</div>
);
}
return (
<div className='lesson-card'>
<div
className='lesson-item'
onClick={() => {this.handleClickLesson()}}
>
<p>{this.props.name}</p>
<img src={this.props.image} />
</div>
{modal}
</div>
);
}
}
export default Lesson;